串口通讯,为什么一定加\r才可以正确发送?
串口接红外,虽然协议不同,但minicom能接收到一些乱码字符
然而,用串口监测小程序,如:
http://community.csdn.net/Expert/TopicView3.asp?id=5051197
并没有监测到。
串口通讯,为什么发送端一定要添加\r,接收端才可以准确无误的接收到?
------解决方案--------------------回车符作为该条指令的结束,回车的ASCⅡ编码为ODH,回车符表示该条指令结束
------解决方案--------------------不是的,其实对方已经接收到了,但对方可能是根据回车符来判断是否已接收完,只有接收完才显示出来。
这要看对方是什么软件,如果是你自已做的,你可以规定收到多少个字符就显示,或者也根据回车符来判断,当一直没收到回车符,约定为还没的接收完,所以不显示出来。
------解决方案--------------------楼上正解
------解决方案--------------------看看TC开头的几个函数,
------解决方案--------------------不要使用标准 C的读取函数,直接使用read系统调用就可以。