2013-02-14 150 views
1

您好我正在尝试从C-程序读取串行输入(来自Arduino)。我能够使用读取串行输入到C变量

system("echo -n \"data\" > /dev/ttyUSB0"); 

将数据发送到Arduino,但我无法弄清楚如何从同一个Arduino的输入到C-程序中的字符串(这是要在程序中处理)。我该怎么做呢?

+0

阅读'man termios'。而'system(“echo -n \”data \“>/dev/ttyUSB0”)'不是C代码! – 2013-02-14 07:06:30

+0

这并不回答你的问题,但是打开'/ dev/ttyUSB0'作为一个文件并写入它比依靠'system()'要难得多。 – asveikau 2013-02-14 07:07:28

回答

5

呼叫系统对于这种通信毫无意义。您可以通过使用函数open,read,writeioctlclose来访问串行端口。

只要通过/dev/ttyUSB0打开文件即可打开。您只需要ioctl以防您想要修改连接设置(如波特率或奇偶校验或东西)

有关详细信息,您可以查看http://www.tldp.org/HOWTO/Serial-Programming-HOWTO/index.html