Stm32ADC的几个怪现象

[复制链接]
3109|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。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

426

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部