上次发了个贴,被原子哥直接给《已解决》了!郁闷!其实问题还是没有解决的!那我这次就描述清晰一些:
条件如下:
只使用了ADC1,采用的是触发启动+注入组的方式并且设置为单次采样,并且开启了注入转换完成中断;
触发是依靠TIM1->CC4捕获获取的,TIM1->ARR=1000,TIM1->CCR4 = 995;
那么整个触发过程应该是这样的:
首先TIM1->CNT=0,并不断进行累加1-2-3-4-5》》此时CC4由低电平变为高电平触发ADC采样,完成一次ADC采样,进入ISR ,清除中断标志,退出ISR,至此结束!
但是实际上触发过程是这样的:
首先TIM1->CNT=0,并不断进行累加1-2-3-4-5》》此时CC4由低电平变为高电平触发ADC采样,完成一次ADC采样,进入ISR ,清除中断标志,退出ISR;
然后TIM1->CNT继续累加 6-7-8此时会继续触发ADC采样,并在累加至1000的过程中,不断的进行ADC采样!
至TIM1->CNT=1000后CNT归0,在0-5期间不会触发ADC采样。
那么我的问题是:
可否在0-1000的过程中只发生1次采样啊?换句话说,就是在CC4的上升沿触发一次?
附件是我的软件仿真的程序例子,可以看见在1次高电平期间共发生13次ADC转换。
求教给位大神!可否给个解决方案?小弟感激!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>