powerall888
驱动小牛
驱动小牛
  • 注册日期2007-03-02
  • 最后登录2010-09-29
  • 粉丝0
  • 关注0
  • 积分906分
  • 威望329点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
阅读:2287回复:6

为什么2440的uart在115200波特率下接收数据时fifo会出现overflow错误?

楼主#
更多 发布于:2007-05-06 15:53
  我使用2440cpu,发现一个奇怪的问题,当串口在115200波特率下接收数据时发现uart的fifo总会出现overflow的错误;但是如果此时系统播放流媒体,其他条件完全相同的情况下串口接收数据时uart的fifo却不会出现overflow的错误。
为甚么?
powerall888
驱动小牛
驱动小牛
  • 注册日期2007-03-02
  • 最后登录2010-09-29
  • 粉丝0
  • 关注0
  • 积分906分
  • 威望329点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-10 18:27
每人回答,自己顶一个。
xiyulang
驱动牛犊
驱动牛犊
  • 注册日期2005-09-06
  • 最后登录2010-07-22
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望111点
  • 贡献值0点
  • 好评度64点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-05-12 13:52
可能跟ce线程响应时间有关系
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-05-12 15:29
Re:为什么2440的uart在115200波特率下接收数据时fifo会出现overflo
这个现象确实很奇怪,你看是不是OEMIdle有问题,在UART来中断后还不能退出IDLE,不能去调用UART的IST,或者是UART的中断不能把CPU从IDLE状态唤醒. 除此之外好像想不到什么理由了.
学海无涯
powerall888
驱动小牛
驱动小牛
  • 注册日期2007-03-02
  • 最后登录2010-09-29
  • 粉丝0
  • 关注0
  • 积分906分
  • 威望329点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-05-16 08:21
我也怀疑与OEMIdle有关,不过修改OEMIdle的思路在哪里呢?
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-05-20 10:10
Re:为什么2440的uart在115200波特率下接收数据时fifo会出现overflo
先把那个函数注空看看.
这个函数的功能是给CPU降频,或者停掉.把TIMER频率降低,到下一个高度时间再发生中断.
学海无涯
yixiaotian
驱动牛犊
驱动牛犊
  • 注册日期2006-02-25
  • 最后登录2007-10-22
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-08-31 17:06
我也遇到这个问题需要解决,不知道从何下手,因为在硬件FIFO数据就丢失了,想采用提高IST优先级或者Installable ISR来试试,有没有大牛帮忙指点呀?
李冰会
游客

返回顶部