OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6338|回复: 4

ADC正常,但是DMA只会进一次中断

[复制链接]

10

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2014-8-31
在线时间
0 小时
发表于 2014-12-31 08:26:16 | 显示全部楼层 |阅读模式
5金钱


这个程序在a=1的时候就不判断DMA了,请问为什么呢

最佳答案

查看完整内容[请看2#楼]

 dma读取adc数据寄存器是顺便将adc完成标志清掉的。所以你等不到了,很有可能是这个原因。 参考手册170页: EOC:转换结束位 (End of conversion)  位1  该位由硬件在(规则或注入)通道组转换结束时设置,由软件清除或由读取ADC_DR时清除  0:转换未完成;  1:转换完成。 
和大家虚心请教
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2014-12-31 08:26:17 | 显示全部楼层
 dma读取adc数据寄存器是顺便将adc完成标志清掉的。所以你等不到了,很有可能是这个原因。

参考手册170页:
EOC:转换结束位 (End of conversion)  位1 
该位由硬件在(规则或注入)通道组转换结束时设置,由软件清除或由读取ADC_DR时清除 
0:转换未完成; 
1:转换完成。 
小小蜗牛
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2014-12-31 13:59:07 | 显示全部楼层
哈哈。。。。
小小蜗牛
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2014-12-31 14:05:03 | 显示全部楼层
你的程序是不是在第一个while死循环了?
应该是第二个吧。试一试
小小蜗牛
回复

使用道具 举报

10

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2014-8-31
在线时间
0 小时
 楼主| 发表于 2014-12-31 21:55:10 | 显示全部楼层
回复【4楼】jiutianshenjian:
---------------------------------
谢谢
和大家虚心请教
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-27 12:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表