打印

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

[复制链接]
2267|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
soso|  楼主 | 2007-12-11 13:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  我用的CPU是PIC16F884  在9600波特率下用串口助手每20MS发一条命令,30分钟

通信正常,但在38400波特率下,通信几十行后,串口助手不再显示,用软件模拟也

有这情况,把程序停下,看波特率寄存器设置还是38400,还可以单步或全速运行,

但再也通信不上,其他波特率也出现这种情况,不知那位仁知道,帮兄弟解答一

下,谢谢。
沙发
韦广远| | 2007-12-11 18:05 | 只看该作者

用示波器看看吧

可能的原因很多
我帮客户调试的时候遇到的有:
1、上拉电阻太大;
2、多接了电容;
3、串口助手发的波特率不准;
4、自己写的代码出了问题。

使用特权

评论回复
板凳
hotpower| | 2007-12-11 22:35 | 只看该作者

一条命令多少字符???

使用特权

评论回复
地板
soso|  楼主 | 2007-12-12 19:38 | 只看该作者

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

一条有长有短  最长15字节

使用特权

评论回复
5
soso|  楼主 | 2007-12-12 19:47 | 只看该作者

问题解决了

 可能以因为通讯快时,我处理命令的时间太长,所以有些字节丢失,发生接收溢出错误
  我现在只是再主程序里判了溢出错误。

使用特权

评论回复
6
hotpower| | 2007-12-12 19:52 | 只看该作者

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

俺用19200. 每秒N*100个字节

由于定时器约1mS中断一次.

后证实是中断优先级的问题.

使用特权

评论回复
7
hotpower| | 2007-12-12 19:54 | 只看该作者

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

无奈看到这些不用中断的人们~~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

0

帖子

1

粉丝