用ARM UART0使用查询方式发送大量数据,结果发送17个字节就停了,后面的字节都不发送,为什么?

如果在17个字节处加个延时又可以继续发送17个字节,单步执行的话可以全部发送出去,采用循环发送时发送一段时间发送的字节都乱了,为什么会出现这种情况?希望高人指点单步运行时... 如果在17个字节处加个延时又可以继续发送17个字节,单步执行的话可以全部发送出去,采用循环发送时发送一段时间发送的字节都乱了,为什么会出现这种情况?希望高人指点
单步运行时都是正确的
展开
 我来答
wwfiney1
2009-10-22 · TA获得超过450个赞
知道小有建树答主
回答量:75
采纳率:0%
帮助的人:127万
展开全部
很多ARM都是通过FIFO来处理UART发送的
比如FIFO是16个Byte,你可以一直往里面填数据,而不用等一个发完再发第二个
但是如果你的速度过快,比如第一个还没发完,FIFO已经被填满了16个Byte,那么你再往FIFO里写就会产生一些意想不到的结果
一般都会有一个FIFO中断,比如FIFO是16个Byte,设置如果你填满了12个,就出发中断,叫你小心,不要再往里写了,当然这个阀值是可以更改的
你可以查查是不是这个问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式