打印
[STM32F0]

F030 ADC使用定时器触发时,ADSTART为什么会被清0

[复制链接]
867|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
GZZXB|  楼主 | 2022-6-18 10:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    使用TIMER来触发ADC采样
    初始化TIMER...
    初始化ADC...
    ADC_StartOfConversion(ADC1);       //设置ADSTART

    在后续中没有停止ADC的动作,调试时发现ADATART被清0了.  如下图所示ADSTART应该是不会被清0的。




使用特权

评论回复
沙发
sparrow054| | 2022-6-21 21:02 | 只看该作者
自从有了库函数,就在没有关心过寄存器

使用特权

评论回复
板凳
GZZXB|  楼主 | 2022-6-22 23:20 | 只看该作者
sparrow054 发表于 2022-6-21 21:02
自从有了库函数,就在没有关心过寄存器

  涉及到一些细节时,需要关注下寄存器。

使用特权

评论回复
地板
香水城| | 2022-6-23 11:45 | 只看该作者
本帖最后由 香水城 于 2022-6-23 11:59 编辑

ADSTART=0表示ADC进入空闲状态,AD的转换启动可以两种方式:




使用特权

评论回复
5
GZZXB|  楼主 | 2022-6-24 23:16 | 只看该作者
香水城 发表于 2022-6-23 11:45
ADSTART=0表示ADC进入空闲状态,AD的转换启动可以两种方式:

   我使用的是单次转换,并用TIMER触发。  看文档系列转换完毕后,ADSTART是不会被清0的。
但是我仿真时看到ADSTART被清0了。
   
我的理解是ADSTART被软件写1后,就进入等待TIMER触发状态了。  来一个触发信号ADC就转换一次,序列转换完了也还是1。
只有在软件调用并执行ADSTP后,ADSTART才会变回0。

使用特权

评论回复
6
GZZXB|  楼主 | 2022-6-24 23:45 | 只看该作者
香水城 发表于 2022-6-23 11:45
ADSTART=0表示ADC进入空闲状态,AD的转换启动可以两种方式:


使用特权

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

本版积分规则

96

主题

331

帖子

10

粉丝