Доброго всем времени суток!
Задача следующая: требуется запустить одно АЦП-преобразование по событию канала 4 таймера 4. Делаю все как указано в Reference Manual, но преобразование стартует при совпадении с TIM4_CCR4 и продолжает выполняться пока счетчик (TIM4_CNT) не достигнет вершины (TIM4_ARR), при этом содержимое регистра ADC1_DR постоянно обновляется. А мне нужно получить только одно значение в момент совпадения счетчика с TIM4_CCR4.
В Reference Manual написано:
11.3.4 Single conversion mode
In Single conversion mode the ADC does one conversion. This mode is started either by
setting the ADON bit in the ADC_CR2 register (for a regular channel only) or by external
trigger (for a regular or injected channel), while the CONT bit is 0.
Once the conversion of the selected channel is complete:
● If a regular channel was converted:
–The converted data is stored in the 16-bit ADC_DR register
–The EOC (End Of Conversion) flag is set
–and an interrupt is generated if the EOCIE is set.
● If an injected channel was converted:
–The converted data is stored in the 16-bit ADC_DRJ1 register
–The JEOC (End Of Conversion Injected) flag is set
–and an interrupt is generated if the JEOCIE bit is set.
The ADC is then stopped.
Т.е. если я правильно понимаю - после преобразования АЦП должен остановиться - но он не останавливается, а продолжает работать.
Может быть я задаю не Single Mode?
Контроллер stm32f103.
Прикладываю скрины настроек АЦП и таймера.
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Заранее спасибо!