找回密码
 注册
查看: 1046|回复: 1

请教:linux下的串口通信

[复制链接]
发表于 2006-8-7 17:19:09 | 显示全部楼层 |阅读模式
一个温湿度传感器模块,网口转串口接到计算机上。linux下面编写程序,发送命令,读取数据。但是只能隔一次才能读到一个有效的数据。

我是这样想的:
1,通信的配置问题,错了他就应该完全读不到数据啊;
2,延时问题,虽然模块说明上提到需要延时,但是我在程序中用sleep(1)跟sleep(10)结果是一样的;
3,缓冲区大小问题,读到有效数据时,显示nread为20,我把buff[](读缓冲区)设为20或者30结果也是一样的。当读到无效数据时,显示nread为1,打印显示结果是一个换行符以及0。
4,串口的具体协议,这个我就完全不懂了

不知道那位大虾可以帮我分析一下,到底是哪里出了问题啊
发表于 2006-8-7 21:32:01 | 显示全部楼层
我是新手,但是恰巧做过linux下串口,说说自己的想法:
1。首先确认是否是硬件问题,用串口助手发送指令,再接收数据,虽然笨,但是准。
2。如果硬件没有问题,你说的缓冲就有可能,把它开大,做成循环的读写,读写指针分开,读指针追这些指针。。
3。如果是c编的话,注意你是否将接收数据处理时涉及到char,unsingned char,以及字符串,因为接收为0x00时,字符串转换容易出问题。
自己的看法,别笑话:)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-6 18:07 , Processed in 0.037410 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表