打印

DMA中断跑着跑着,就进不了了

[复制链接]
1984|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
youlongltm|  楼主 | 2013-7-5 14:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
        我在stm32f303中,在外部中断服务函数中打开ADC的DMA通道,然后在DMA中断中关闭DMA,跑着跑着就进不了DMA中断了,求大神指点
沙发
qianzeqi| | 2013-7-5 16:52 | 只看该作者
我的207也这样,我试过关DMA,再开DMA,不行。关AD,关DMA,开AD,开dma,还是不行。关AD时钟,关DMA,开ad时钟,开DMA,就行了

使用特权

评论回复
板凳
airwill| | 2013-7-5 16:54 | 只看该作者
进不了DMA中断了, 这个时候, 看看各个寄存器情况, 分析一下呢

使用特权

评论回复
地板
trumpxp| | 2013-7-5 18:40 | 只看该作者
单步调试   看看是哪个寄存器出了问题   应该能够解决的   楼主    应该问题不大    顶一个

使用特权

评论回复
5
youlongltm|  楼主 | 2013-7-5 19:49 | 只看该作者
airwill 发表于 2013-7-5 16:54
进不了DMA中断了, 这个时候, 看看各个寄存器情况, 分析一下呢

谢谢版主指点,我这个不是都进不了,开始的时候能进去,跑会就进不去了,这种最烦了

使用特权

评论回复
6
youlongltm|  楼主 | 2013-7-5 19:50 | 只看该作者
trumpxp 发表于 2013-7-5 18:40
单步调试   看看是哪个寄存器出了问题   应该能够解决的   楼主    应该问题不大    顶一个  ...

恩,我觉得寄存器出问题最可能是那个计数的,我再多试试

使用特权

评论回复
7
youlongltm|  楼主 | 2013-7-5 19:52 | 只看该作者
qianzeqi 发表于 2013-7-5 16:52
我的207也这样,我试过关DMA,再开DMA,不行。关AD,关DMA,开AD,开dma,还是不行。关AD时钟,关DMA,开ad ...

你很强力,直接关时钟,办法很彻底,顶个

使用特权

评论回复
8
youlongltm|  楼主 | 2013-7-6 10:56 | 只看该作者
今天单步了了下,发现DMA的CNDTR1每次进中断的数据都不合理,初始化的时候我设的搬运数据的个数为64,所以刚开始进去的时候是0x3e,第一次进中断,变成了1f,算的话应该是传了32个,但是我开的传完中断,怎么可能传的是32个,只有一半?这个还能解释,第二次进去直接变成0x15,完全无法解释。难道每次进中断后要把这个寄存器重新赋值?

使用特权

评论回复
9
hkcj| | 2013-7-6 16:18 | 只看该作者
清除中断标志位   重新给他赋值   应该是这样的

使用特权

评论回复
10
jxmzzr| | 2013-7-7 15:56 | 只看该作者
感觉是不是配置有什么问题,楼主请仔细查看,重新赋值

使用特权

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

本版积分规则

3

主题

27

帖子

0

粉丝