[英]How to read data from Arduino board to pc using C?
我在这里找到了将数据写入Arduino板的教程: https : //salilkapur.wordpress.com/2013/03/08/communicating-with-arduino-using-c/
该代码使用file = fopen("/dev/ttyUSB0","w+");
打开端口以进行读/写操作,并使用fprintf
将数据写入设备。 但是,当我尝试使用fscanf
从Arduino检索数据时(我使用Serial.print
将数据从Arduino端写回到PC,并且数据格式化为DEC
),但是它没有用。
我可以使用Arduino IDE中的串行监视器查看输出,但是无法查看C程序输出中的输出。 它为什么不起作用,我必须怎么做才能使其起作用?
该程序在Ubuntu中运行。
这是应该在PC上运行的C代码:
#include <stdio.h>
int main()
{
FILE *file;
char a=0;
file = fopen("/dev/ttyUSB0","w+");
int i = 0;
if(file == -1)
printf("error");
for(i = 0 ; i < 3 ; i++)
{
fprintf(file,"C");
fscanf(file, "%c", &a);
printf("%c", a);
}
fclose(file);
}
我还尝试了一些变体,例如,使用%d
代替%c
,使用int
代替char并使用fflush
。 我不知道为什么它不起作用。 可能是我的Arduino开发板无法正常工作吗?
注意:应该在每个字符输入之后给出输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.