2812串口SCI

[复制链接]
3679|6
 楼主| huangfeng33 发表于 2014-4-14 15:54 | 显示全部楼层 |阅读模式
2812,使用SCI FIFO中断模式接收数据,波特率153.6K,数据包每包含16个8位数,每接收到一个数据即产生一个中断,也就是每一个数据包会产生16个中断。上位机最快每隔20ms左右发一包数据。
平时大多数时间下使用都是正常的。
但是诡异的是,不时会出现表现为串口无响应的故障。接上仿真器检查,发现确实有在数据线上有数据的情况下,DSP完全不响应中断。检查SCI寄存器,发现SCIRXST寄存器被置0xB2,也就是RX ERROR位,BRKDT位,FE位被置1,通过向SCICTL1寄存器的SW reset复位位写0,可以使串口重新响应中断,但是很快又会出现不响应中断的情况。同事SCIRXST被写0XB2
想让大家帮忙分析的是,这种情况有可能是因为什么导致的?SCIRXST被置为0xB2后,串口会被挂起?
查datasheet ,上面说BRKDT是SCI break标志位,被置为的原因是串口在丢失一个停止位后,连续检测到了十位的低电平
并且貌似在连接仿真器用断点进行调试时,这种现象发生的尤其频繁。我不能肯定的是上位机或者我自己的2812在使用断点调试时,打乱了串口的传输,造成SCIRXST寄存器报错呢,还是其他的原因?
不知道有人遇到类似问题没?
拿起书本 发表于 2014-4-14 16:29 | 显示全部楼层
根据楼的的描述,感觉是你程序方面应该有什么问题吧?!
zhangmangui 发表于 2014-4-14 22:00 | 显示全部楼层
个人以前使用的时候    感觉2812的SCI似乎有些bug   但你说的这种问题没有遇到过
参考一些附件中的代码     **一下配置情况

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
tuyongfei 发表于 2014-4-22 08:28 | 显示全部楼层
这个我早就能实现,不是我想找的。
jxmzzr 发表于 2014-4-22 10:26 | 显示全部楼层
我的也遇到过这种情况,得整个芯片软件复位后才通信正常。
qiuconnie 发表于 2014-9-13 16:15 | 显示全部楼层
你好,我也同样遇到了DSP SCI时不时进不了中断的问题,使用的是FIFO普通发送和中断接收,一次发送1包16个数,因为设置了SCI接收中断标志,能报出故障来发现的,若不复位程序,有可能会恢复中断,但时间不确定,请问你是怎么解决的?发送完复位一下TXFIFO reset,接收完也RXFITO reset一下不知道是否可以?
qiuconnie 发表于 2014-9-13 16:15 | 显示全部楼层
请加我qq31496647,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

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