使用ARM中UART接收发送数据时,如果选择每接收一个字节数据就产生接收中断如何设计程序?

 我来答
创作者IN4YNfIlVK
2020-02-15 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:624万
展开全部
首先你要知道,UART不是与ARM体系有关,而是与具体的ARM体系CPU有关。
就是说不同的CPU的UART控制器是不一样的
这个程序只能给你一个思路了
有些CPU这些发送,接收中断是可以在寄存器直接设置一个阀值的
比如你的发送缓存为8个字节,接收也是8个字节
你可以设置,当发送缓存里的数据少于1的时候就产生中断
当接收缓存里数据大于4时,就产生中断
目前很多CPU都可以直接设置内部的UART寄存器来完成这个配置
如果没有UART控制器来完成。就是说你的UART发送和接收都是自己控制的
你可以在自己的发送,接收的中断处理程序里面模拟一个缓存,来实现这些功能。我想这个应该不成问题吧
就是2个全局变量记录缓存的用量分别记录接收和发送
还有2个全局数组,比如8个字节,用来缓存接收发送的数据
你的UART中断程序如果判断到是接收,首先把数据放到缓存,然后接收缓存计数+1,判断是否超过某一个阀值,如果是的话,就做一些自定义的事情
发送是同样的道理
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式