发送到raspberrypi app的串行字符串会产生意外结果

时间:2014-08-22 15:24:30

标签: c serial-port raspberry-pi

如果我通过串口通讯将以下字符串发送到rpi

echo "#q10"  > /dev/ttyUSB0

编辑: 这是来自覆盆子pi的app输出(换行符^ M似乎是问题)

enter image description here

我尝试过不同长度的字符串也会产生不一致

代码如下。我正在使用串行接线库 Gordons project

#include <stdio.h>
#include <wiringSerial.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>

int fd;

struct obj_Properties
 {
   char *one;
   char *two;
   char *three;
   char *four;
};

int main()
{
if ((fd = serialOpen("/dev/ttyUSB0", 9600)) < 0)
{
return 1;
}

for(;;){
while (serialDataAvail (fd))
 {
 struct obj_Properties prop;
 prop.one = serialGetchar(fd);
 prop.two = serialGetchar(fd);
 prop.three = serialGetchar(fd);
 prop.four = serialGetchar(fd);
 printf ("%c %c %c %c\n", prop.one, prop.two, prop.three, prop.four);

 fflush (stdout) ;

}
usleep(10000);
}
}

0 个答案:

没有答案