1
您好我正在嘗試從C-程序讀取串行輸入(來自Arduino)。我能夠使用讀取串行輸入到C變量
system("echo -n \"data\" > /dev/ttyUSB0");
將數據發送到Arduino,但我無法弄清楚如何從同一個Arduino的輸入到C-程序中的字符串(這是要在程序中處理)。我該怎麼做呢?
您好我正在嘗試從C-程序讀取串行輸入(來自Arduino)。我能夠使用讀取串行輸入到C變量
system("echo -n \"data\" > /dev/ttyUSB0");
將數據發送到Arduino,但我無法弄清楚如何從同一個Arduino的輸入到C-程序中的字符串(這是要在程序中處理)。我該怎麼做呢?
呼叫系統對於這種通信毫無意義。您可以通過使用函數open
,read
,write
ioctl
和close
來訪問串行端口。
只要通過/dev/ttyUSB0
打開文件即可打開。您只需要ioctl以防您想要修改連接設置(如波特率或奇偶校驗或東西)
有關詳細信息,您可以查看http://www.tldp.org/HOWTO/Serial-Programming-HOWTO/index.html。
閱讀'man termios'。而'system(「echo -n \」data \「>/dev/ttyUSB0」)'不是C代碼! – 2013-02-14 07:06:30
這並不回答你的問題,但是打開'/ dev/ttyUSB0'作爲一個文件並寫入它比依靠'system()'要難得多。 – asveikau 2013-02-14 07:07:28