首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

用LINUX串口发送数字和字符串遇到有关问题

2012-03-29 
用LINUX串口发送数字和字符串遇到问题我用LINUX串口发送字符串STX,WRITE(FD,“STX”,3);收到的结果16进制显

用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);
...

热点排行