阅读:2287回复:6
为什么2440的uart在115200波特率下接收数据时fifo会出现overflow错误?
我使用2440cpu,发现一个奇怪的问题,当串口在115200波特率下接收数据时发现uart的fifo总会出现overflow的错误;但是如果此时系统播放流媒体,其他条件完全相同的情况下串口接收数据时uart的fifo却不会出现overflow的错误。
为甚么? |
|
沙发#
发布于:2007-05-10 18:27
每人回答,自己顶一个。
|
|
板凳#
发布于:2007-05-12 13:52
可能跟ce线程响应时间有关系
|
|
地板#
发布于:2007-05-12 15:29
Re:为什么2440的uart在115200波特率下接收数据时fifo会出现overflo
这个现象确实很奇怪,你看是不是OEMIdle有问题,在UART来中断后还不能退出IDLE,不能去调用UART的IST,或者是UART的中断不能把CPU从IDLE状态唤醒. 除此之外好像想不到什么理由了. |
|
|
地下室#
发布于:2007-05-16 08:21
我也怀疑与OEMIdle有关,不过修改OEMIdle的思路在哪里呢?
|
|
5楼#
发布于:2007-05-20 10:10
Re:为什么2440的uart在115200波特率下接收数据时fifo会出现overflo
先把那个函数注空看看.这个函数的功能是给CPU降频,或者停掉.把TIMER频率降低,到下一个高度时间再发生中断. |
|
|
6楼#
发布于:2007-08-31 17:06
我也遇到这个问题需要解决,不知道从何下手,因为在硬件FIFO数据就丢失了,想采用提高IST优先级或者Installable ISR来试试,有没有大牛帮忙指点呀?
|
|
|