打印

Stm32ADC的几个怪现象

[复制链接]
2513|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
motor666|  楼主 | 2012-4-16 22:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从开发板自带的ADC程序做了一个ADC查询方式的程序,可以采集到数据,但是:
1、  1、无论我关闭还是打开DMAADC1->CR2的第8位都是1

ADC_DMACmd(ADC1, ENABLE)
ADC_DMACmd(ADC1, DISABLE) ADC1->CR2都是0xE0103,说明DMA打开了。

2ADC1->SREOC位置1之后,再也清不掉了,永远是1
3、一旦读了一次ADC1->DRADC1->CR2就等于0x1E0103,说明第20位被置1了,但程序里绝对不会有操作这个位。
沙发
lut1lut| | 2012-4-17 15:02 | 只看该作者
配置ADC之前,ADC_DeInit()先调一下。

EOC一直置位说明不断有ADC转换结果送过来呀,我看你CR2低两位都是1么,使能了CONT连续转换的。你是F1还是F2啦?F2的ADC有个OVR的标志

CR2的"E"说明设置了注入组的转换由Timer8的CC4事件触发,那么JEXTEN总归要非0咯,你又说软件肯定没有设置。

使用特权

评论回复
板凳
motor666|  楼主 | 2012-4-17 21:14 | 只看该作者
“配置ADC之前,ADC_DeInit()先调一下”,有道理,初始化的操作只是把用到的位置1,没用到的位就没管。
我用的是stm32f107VC。

使用特权

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

本版积分规则

174

主题

422

帖子

1

粉丝