串口通信的奇怪现象,大家有没有遇到过的?(已解决)
本帖最后由 FSL_TICS_Robin 于 2014-5-4 12:48 编辑有两块开发板1、2,每块板上有串口接口,通信都采用串口来实现,现在现象如下:
A) 开发板1(采用软件1)与电脑通信正常,
B) 开发板2(采用软件2)与电脑通信正常。
C) 但是开发板1与开发板2通信不正常。
D) 把开发板2更换成开发板3(同开发板2一样的另一块板(软件也为2))。开发板1与开发板3通信就正常了。
E) 把开发板2与开发板4(别一款有串口的开发板,与开发板1和2、3不同款)通信又正常。
感觉上好像是开发板2有问题,但是其与电脑通信和开发板4通信又没问题。大家有没有遇到这种情况?晕死!
看看你的波特率误差有多大啊,我觉得是不是你有问题的一结合波特率误差变大导致的。可以抓波形看看。 这个很正常,电脑的串口兼容性很高,而且不怎么进行校验 抓个波形,一看一分析就什么都清楚了 抓个波形,一看一分析就什么都清楚了 示波器抓波形看波特率吧,电脑的波特率容差非常大,偏很多还能识别出来。 {:sad:}电脑的波特率容差非常大,我就认了。但是开发板3和开发板2是一样的板,一样的软件。又能用。我就晕了....... 弄个波形看看就是 pigy0754 发表于 2014-4-15 16:21
电脑的波特率容差非常大,我就认了。但是开发板3和开发板2是一样的板,一样的软件。又能用。我就晕 ...
亲,看看波形吧,这些东西都是客观的。
看了波形,比在那想更能高效解决问题。 串口波形很简单,直接示波器上测一下就能够读了。
如果波特率、奇偶校验不错,应该就是程序问题。 看波形解决问题,盲目的测试浪费时间。 查看两点:
1.不同的晶振 波特率误差会不同
2.查看波形,是不是连接上板子有衰减 把波特率降到很低试一下 波特率降低是个不错的办法 其实串口问题通信不成功,最重要的就是波特率,停止位,数据位的设置。波特率特别重要,也许你觉得两个程序设置的波特率是一样,但也有可能出现程序错误,造成波特率不一致。 标志 学习一下 没看到咋样解决的问题啊 mark 学习一下
一般通讯都需要握手及校验,如果是波特率问题,校验失败,再发一次就OK了! 学习一下。
页:
[1]