注册 登录
编程论坛 单片机编程

串口接收的报文把第一个数据丢了!是怎么回事??

嘴角的上弦月 发布于 2016-06-24 09:34, 6205 次点击
同一套程序,在另一块板子上跑的很正常,在这块板子上串口接收的通信报文总是把第一个数据给丢了,然后后续数据正常接收,就好像是报文整体左移了一位,第一位移出丢弃了,最后一位补零了。
这个现象好奇怪,不知道到底是硬件原因还是软件原因。
修改 串口接收函数 ,使其空间整体后移一位,结果报文接收到的还是原来的数据,只不过整体后移了一位,buf[0]=0.
反正就是报文的第一个字节死活接收不到! 这是什么鬼??
[local]1[/local]
7 回复
#2
嘴角的上弦月2016-06-24 09:35
额。为什么图片没有显示??
只有本站会员才能查看附件,请 登录
正常报文
#3
嘴角的上弦月2016-06-24 09:35
错误报文
只有本站会员才能查看附件,请 登录
#4
hu9jj2016-06-26 19:02
很可能是晶振的频率不一致。
#5
嘴角的上弦月2016-06-28 10:51
回复 4楼 hu9jj
收和发的晶振频率吗?
是指的硬件,还是软件的配置?
#6
嘴角的上弦月2016-06-28 10:55
回复 4楼 hu9jj
硬件同事也说不清楚他他到底改了哪儿改好的,反正是现在又好了... 好像说去掉了一个电容,不知道是不是跟这个有关系。
#7
hu9jj2016-06-29 21:07
以下是引用嘴角的上弦月在2016-6-28 10:55:18的发言:

硬件同事也说不清楚他他到底改了哪儿改好的,反正是现在又好了... 好像说去掉了一个电容,不知道是不是跟这个有关系。

很有可能
#8
驱动人生2016-08-15 21:09
是什么型号的单片机?
1