版块
论坛
喜欢
话题
应用
搜索
登录
注册
xiyulang的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=115811
2440串口FIFO溢出问题
系统是远峰提供的S3C2440+WINCE4.2,通过2440的UART0接口数据,当数据量较大时(超过100K)出现丢失数据现象,通过在驱动中读取2440的UART0的出错状态寄存器,发现硬件FIFO有溢出错误,就是说数据没有来得及读取而被覆盖了,提高驱动和上层接收应用程序的优...
全文
回复
(
13
)
2007-01-15 09:12
来自版块 -
Wince 程序开发
◆
◆
表情
告诉我的粉丝
提 交
harktrip
:
你们方向都错了~ 我的才设FIFO最低等级, 但传送接收数百MB 未见任何错误(115200-8-N-1) (只使用RXD和TXD,没CTS和RTS线) 只要AP每次下令前把Buffer清掉,就搞定了
(2008-08-15 22:52)
回复
wbcp2000
:
我也到此问题,发送超出40个大小的字节,就有可能出现丢包现象。 我是写应用程序的,感觉需要优化驱动来解决问题。
(2008-08-15 22:15)
回复
bluefish
:
各位老大们,我现在也遇到和楼主同样的问题,请教下各位是如何解决的?多谢
(2008-03-11 11:16)
回复
lStoneCN
:
发数据的时候丢包有没有遇到过?我这里是发数据丢。
(2007-03-13 20:23)
回复
powerall888
:
我在57600的波特率下,如果通过pc机向ce平台发送数据,WriteFile一次写10k字节,发现ce平台能够完整地接收到10k字节的数据; 如果在115200的波特率下,ce平台就不能完整地接收到10k字节的数据,有时丢的多,有时少。
(2007-03-02 11:21)
回复
powerall888
:
一楼的兄弟解决没有啊? 本人碰到和你一模一样的问题。
(2007-03-02 11:16)
回复
microsun
:
一楼的兄弟解决没有啊?我最近也在写串口的驱动,我觉得可能有这种可能: 你发送这么大的数据,在接收的同时是不是也在发送啊?如果是这样,可能需要平衡两者的CPU使用率,就是不要让发送或接收占用太多的时间. 而且你打调试信息能改善,从这个现象判断,有这两种可能:1.接收速度太快,CP...
(2007-02-10 18:48)
回复
zhengshijie
:
事实上4.2 S3C2440 BSP默认是使能AFC(自动流控),可以看到s2440.h有定义: #define USE_AFC 1 但是板子侧有流控,而发送方没有流控反而更会出问题,所以要么发送方使能流控,或把板子侧流控禁掉。还有就是系统的主频最好...
(2007-02-06 13:19)
回复
zhoumc
:
“往串口输出一些打印信息,接收数据就没有丢了”,是不是对方忙于接收串口中的数据,从而减少了发送数据?所以你这方接收到的数据减少,从而错误率下降。你可以再作个试验,在发送方每发送一个字节睡一毫秒,看错误率是否下降。如果有改善的话,可能还是你这边的接收速率太慢所致,解决的根本办法是增...
(2007-01-28 10:51)
回复
microsun
:
三星的系统我没有用过,不知道具体是怎么回事, 你认为是读取串口速度太低引起的,可以把从FIFO中读取数据的代码移到ISR中, public\common\oak\drivers\serial\ISR16550目录下就是WINCE提供的ISR代码,可以看看能否适用于你的系统.
(2007-01-27 17:12)
回复
1
2
下一页 »
xiyulang
加关注
写私信
0
关注
1
粉丝
84
帖子
返回顶部