打印

关于ADC软件触发问题

[复制链接]
470|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
无幻|  楼主 | 2020-4-21 03:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题1:简单的试了一下ADC的中断转换和标志位转换,即IT 和 FLAG  ,发现软件使能ADC转换的时候,如果此时是中断转换,不需要反复调用 ADC_SoftwareStartConvCmd(ADC2, ENABLE);而当时用FLAG时,需要反复调用 ADC_SoftwareStartConvCmd(ADC2, ENABLE);是不是中断服务函数,或是中断的其他寄存器,自动使能了软件触发,即自动调用或执行和ADC_SoftwareStartConvCmd(ADC2, ENABLE)相同功能的操作?


问题2:可不可以用中断标志位IT来代替FLAG,就是,循环检测IT是否为1,如果为1,表示ADC采集结束?用以下代码来表示

while(1){
    while(ADC_GetITStatus(ADC2,ADC_IT_EOC)==SET)
    {
     printf("DATA Send Successfully\n");
     printf("value : %.2f\n",(double)( ADC_GetConversionValue(ADC2)/4096 )* 3.3);
     ADC_ClearFlag(ADC2,ADC_IT_EOC);
    }

}

上面代码不在中断服务函数中,而是在主函数中

使用特权

评论回复

相关帖子

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

本版积分规则

431

主题

436

帖子

0

粉丝