高级会员

- 积分
- 548
- 金钱
- 548
- 注册时间
- 2015-12-2
- 在线时间
- 168 小时
|
5金钱
上次发了个贴,被原子哥直接给《已解决》了!郁闷!其实问题还是没有解决的!那我这次就描述清晰一些:
条件如下:
只使用了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转换。
求教给位大神!可否给个解决方案?小弟感激!
|
|