我用定时器触发ADC采样,数据转移用DMA,初始化外设后,数据波形可以显示在LCD上,
动态调节采样率用下面程序
TIM1->ARR=72000000 / freq;//设定计数器自动重装值
只要调节采样频率,波形就停留在上一帧不动了,单步调试发现DMA缓存中数据一直不变化。
我的疑问:1.只要不通过TIM1->ARR=72000000 / freq动态修改采样率,就能一直采集到数据。这是为什么?
2.怀疑定时器出了问题,我尝试在修改采样率前先失能定时器,修改完后再使能定时器,也不能解决问题
3.怀疑DMA出了问题,我尝试在修改采样率前先通过DMA1_Channel1->CCR&=0xffffffe关闭DMA传输,修改完后再
重新配置DMA并开启,也不奏效
4.定时器比较输出模式下,定时器运行起来了修改自动重装值带来了什么其它影响导致了问题
这个问题该从哪里下手解决呢 |