请教我的程序在9600下通讯正常在38400下通讯一段时间后挂了

[复制链接]
2983|6
 楼主| soso 发表于 2007-12-11 13:46 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;我用的CPU是PIC16F884&nbsp;&nbsp;在9600波特率下用串口助手每20MS发一条命令,30分钟<br /><br />通信正常,但在38400波特率下,通信几十行后,串口助手不再显示,用软件模拟也<br /><br />有这情况,把程序停下,看波特率寄存器设置还是38400,还可以单步或全速运行,<br /><br />但再也通信不上,其他波特率也出现这种情况,不知那位仁知道,帮兄弟解答一<br /><br />下,谢谢。<br />
韦广远 发表于 2007-12-11 18:05 | 显示全部楼层

用示波器看看吧

可能的原因很多<br />我帮客户调试的时候遇到的有:<br />1、上拉电阻太大;<br />2、多接了电容;<br />3、串口助手发的波特率不准;<br />4、自己写的代码出了问题。
hotpower 发表于 2007-12-11 22:35 | 显示全部楼层

一条命令多少字符???

  
 楼主| soso 发表于 2007-12-12 19:38 | 显示全部楼层

请教我的程序在9600下通讯正常在38400下通讯一段时间后挂了

一条有长有短&nbsp;&nbsp;最长15字节
 楼主| soso 发表于 2007-12-12 19:47 | 显示全部楼层

问题解决了

&nbsp;可能以因为通讯快时,我处理命令的时间太长,所以有些字节丢失,发生接收溢出错误<br />&nbsp;&nbsp;我现在只是再主程序里判了溢出错误。
hotpower 发表于 2007-12-12 19:52 | 显示全部楼层

3mS内应该完成,没挂的理由,但也有1点,俺下午遇到过

俺用19200.&nbsp;每秒N*100个字节<br /><br />由于定时器约1mS中断一次.<br /><br />后证实是中断优先级的问题.<br />
hotpower 发表于 2007-12-12 19:54 | 显示全部楼层

晕!!!收发中断用FIFO那有这种晕事???

无奈看到这些不用中断的人们~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

0

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部