在Linux环境中,我们使用来自unistd.h的read()方法从串口接收数据。专门从/dev/ttys1读取数据。
我们收到的部分数据包括字符0x0A (换行符)和0x0B (垂直制表符),但是库似乎忽略了它们。
我的意思是,我们使用一个unsigned char[]来存储从端口获得的数据,该数组包含除了这些字符之外的所有数据。
你认为这可能是错误的吗?
发布于 2011-02-22 04:11:58
ttys?您确定要将终端驱动程序置于正确的状态以发送这些字符吗?(参见tcgetattr和tcsetattr)。根据您的精确设置,您可以使用stty程序以交互方式使用这些设置。
发布于 2011-02-22 04:02:12
你怎么知道你应该读0x0A和0x0B?您是否使用任何机制来“调试”线路,以确保您应该阅读的消息是什么?read()函数不假设数据正在读取,所以如果有任何字节丢失,应该在程序的任何其他部分。
希望这能对你有所帮助。谢谢,塞吉奥。
https://stackoverflow.com/questions/5070557
复制相似问题