打印
[开发工具]

CUBE MX中断的困惑,这几个中断难道没有可选余地吗?

[复制链接]
1060|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 apple163 于 2016-1-4 15:16 编辑

CUBE MX中断的困惑,这几个中断难道没有可选余地吗?
非常不解的是,为什么DMA一定要伴随中断呢,难道开启DMA就一定要使用DMA的中断吗?费解...

我从前的UART程序都是使用DMA做fifo(STM32没有FIFO),然后查询的模式,这样的好处是既不要苛求查询的速度,又不必使用中断,完美解决UART通讯问题,如今试用CUBE MX,ST的工程师居然将DMA和DMA的中断封装到一起了

详见图片

CUBE.jpg (161.68 KB )

CUBE.jpg
沙发
戈卫东| | 2016-1-4 21:35 | 只看该作者
确实。用过之后感觉要用好很困难。

使用特权

评论回复
板凳
dongnanxibei| | 2016-1-5 09:17 | 只看该作者
应该说DMA就是需要通过中断才能实现,DMA的目的就是脱离主函数运行。平时主函数不能搭理它,也就是说,只能通过中断请求来搭理他。

使用特权

评论回复
地板
apple163|  楼主 | 2016-1-5 09:33 | 只看该作者
dongnanxibei 发表于 2016-1-5 09:17
应该说DMA就是需要通过中断才能实现,DMA的目的就是脱离主函数运行。平时主函数不能搭理它,也就是说,只能 ...

你这个定义着实太过于武断了,我说过了DMA用作FIFO很省心的,我最讨厌阻塞,也最讨厌中断。DMA不开中断完全可以实现各种功能,而且也很合理,绝非小众应用。

使用特权

评论回复
5
apple163|  楼主 | 2016-1-5 09:36 | 只看该作者
如果有和我一样应用的朋友,可以先选择DMA开启,然后再手动删除DMA中断开启的部分代码,DMA采用查询寄存器的方式,做环形读取,既不开中断也不需要过短时间实时查询,在STM32F103上应用很多年了,安全可靠。

使用特权

评论回复
6
飞思捷芯| | 2016-1-5 17:12 | 只看该作者
瞅瞅

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

60

帖子

1

粉丝