用LINUX串口发送数字和字符串遇到问题
我用LINUX串口发送字符串STX,WRITE(FD,“STX”,3);收到的结果16进制显示53 54 58,我要的结果是把STX当整体而不是分别收到S T X的ASCII码值。有身莫办法呢?
另外,我用WRITE函数发送字符就对,发送数字就不对,例如:INT A=55;WRITE(FD,A,SIZEOF(A) );请问要发送数字该怎样写呢?
[解决办法]
串口串口,就是串行传送数据的,根据发送顺序,一次发送出去一个字节,接收端一次接收一个字节,该怎么处理
是你应用程序的事情,
就象你的例子,你把接收到的3个字节分别放入字符数组的3位里,用%s输出不就是你发送的字符串 "STX "啦?
不是发送数字不对,是你读到后解释不对,上面不是说啦,串口一次读写一个字节即0-255,你超过了这个值,它就
没法发送,你要根据你的发送和接收指定一个规程.
[解决办法]
第二个问题:
你应该字符串的形式发char *A= "55 "
[解决办法]
第一个问题:
#define STX '\0x05 '
...
write(fd, STX, 1);
...