|
STM32: запуск АЦП от TIM1 |
|
|
|
 |
Ответов
|
Feb 7 2012, 19:38
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 4-05-08
Пользователь №: 37 272

|
У меня работает. (Надеюсь, таймер и канал сравнения настроены) CODE void delay_y() { volatile u32_t i, ty; for(i=0; i<10000; i++) ty=GPIOA_ODR; }
void init_adc() { // выключаем АЦП и ждём не менее 2-х периодов синхронизации АЦП ADC1_CR1=0x00000000; ADC1_CR2=0x00000000; delay_y(); // включаем (1 мкс) и ждём время установления (1 мкс) ADC1_CR2=0x00000001; delay_y(); // выполняем калибровку ADC1_CR2=0x00000005; while(ADC1_CR2&0x00000004); // ждём окончания (5,9 мкс)
// настраиваем
// время захвата значения ADC1_SMPR1=0x00000000; ADC1_SMPR2=0x0002d000; // используется только 5-й и 6-й каналы // SMPx[2:0]=101
// последовательность обычных каналов ADC1_SQR1=0x00000000; // L - длина последовательность // SQx - номер канала ADC1_SQR2=0x00000000; ADC1_SQR3=0x00000006; // используется только 5-й и 6-й каналы
ADC1_CR1=0x00000020; // // AWDEN=0; // отслеживание диапазона обычных каналов - не требуется // JAWDEN=0; // отслеживание диапазона вклинивающихся каналов - не требуется // DISCNUM=0; // кол-во каналов в прерывистом режиме // JDISCEN=0; // прерывистый режим для вклинивающихся каналов - не требуется // DISCEN=; // ??? прерывистый режим для обычных каналов - // JAUTO=0; // автопреобразование вклинивающейся группы - не требуется // AWDSGL=0; // отслеживание диапазона в режиме .. просмотра (scan) - не требуется // SCAN=0; // режим просмотра - не требуется // JEOCIE=0; // прерывание по вклинивающимся каналам - не требуется // AWDIE=0; // прерывание по отслеживанию диапазона - не требуется // EOCIE=1; // прерывание по обычным каналам - разрешено // AWDCH=0; // номер канала для отслеживания диапазона
ADC1_CR2=0x00100001; // // TSVREFE=0; // каналы датчика температуры и внутреннего опорного - не требуется // SWSTART=0; // программный запуск преобразования на обычных каналах // JSWSTART=0; // программный запуск преобразования на вклинивающихся каналах // EXTTRIG=1 ; // запуск преобразования обычного канала по внешнему сигналу - разрешен // EXTSEL=000; // источник внешнего запускающего сигнала для обычного канала - таймер 1, канал 1 // JEXTTRIG=0; // запуск преобразования вклиниваюегося канала по внешнему сигналу - не требуется // JEXTSEL=0; // источник внешнего запускающего сигнала для вклинивающихся каналов - не требуется // ALIGN=0; // выравнивание результата - вправо // RSTCAL=0; // сброс калибровки // CAL=0; // запуск калибровки // CONT=0; // непрерывный режим - не требуется // ADON=1; // включение АЦП / запуск преобразования // запуск преобразования происходит если выполняется оба условия: // 1) до этого АЦП уже был включен ADON=1; // 2) кроме бита ADON другие биты не меняются }
Сообщение отредактировал IgorKossak - Feb 7 2012, 20:10
Причина редактирования: [codebox]
|
|
|
|
|
Feb 8 2012, 03:16
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(Юрий_СВ @ Feb 8 2012, 01:38)  У меня работает. (Надеюсь, таймер и канал сравнения настроены) Код // последовательность обычных каналов ADC1_SQR1=0x00000000; Я правильно понимаю, что у вас длина последовательности равна нулю? Почему так?
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Feb 8 2012, 09:08
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 4-05-08
Пользователь №: 37 272

|
Цитата(AHTOXA @ Feb 8 2012, 06:16)  Я правильно понимаю, что у вас длина последовательности равна нулю? Почему так? Нет вы понимаете неправильно. Она равна 1. Цитата Bits 23:20 L[3:0]: Regular channel sequence length These bits are written by software to define the total number of conversions in the regular channel conversion sequence. 0000: 1 conversion
Сообщение отредактировал Юрий_СВ - Feb 8 2012, 09:09
|
|
|
|
Сообщений в этой теме
koyodza STM32: запуск АЦП от TIM1 Jul 24 2011, 13:36 AHTOXA TIM_BDTR_MOE? Jul 25 2011, 09:12 koyodza Цитата(AHTOXA @ Jul 25 2011, 12:12) TIM_B... Jul 28 2011, 15:25 Huston007 Цитата(koyodza @ Jul 24 2011, 20:36) У ко... Aug 18 2011, 13:03 Михаил Черепанов Цитата(Huston007 @ Aug 18 2011, 19:03) По... Feb 7 2012, 03:19 sevastianovd koyodza, попробуйте пример из стандартной библиоте... Feb 7 2012, 08:51   AHTOXA Цитата(Юрий_СВ @ Feb 8 2012, 15:08) Нет в... Feb 8 2012, 11:05    Юрий_СВ Цитата(AHTOXA @ Feb 8 2012, 14:05) Я не о... Feb 8 2012, 11:33     AHTOXA Дык, надо ж сразу обо всём этом писать. А то получ... Feb 8 2012, 11:41      Юрий_СВ Цитата(AHTOXA @ Feb 8 2012, 14:41) Дык, н... Feb 8 2012, 12:10       AHTOXA Цитата(Юрий_СВ @ Feb 8 2012, 18:10) Надею... Feb 8 2012, 12:53        Юрий_СВ Цитата(AHTOXA @ Feb 8 2012, 15:53) вопрос... Feb 8 2012, 14:37 koyodza Цитата(Юрий_СВ @ Feb 7 2012, 21:38) У мен... Feb 8 2012, 20:41  Юрий_СВ Цитата(koyodza @ Feb 8 2012, 23:41) Ну и ... Feb 9 2012, 12:13   koyodza Цитата(Юрий_СВ @ Feb 9 2012, 14:13) // EX... Feb 9 2012, 15:28    MiklPolikov Пытаюсь запустить АЦП от события TIM6_TRGO
Не п... Apr 13 2012, 22:00     scifi Цитата(MiklPolikov @ Apr 14 2012, 02:00) ... Apr 14 2012, 08:24      MiklPolikov Цитата(scifi @ Apr 14 2012, 11:24) Тут ну... Apr 14 2012, 10:53       MiklPolikov Разобрался. Оказалось что АЦП не хочет запускатся... Apr 14 2012, 21:20        koyodza Цитата(MiklPolikov @ Apr 14 2012, 23:20) ... Apr 15 2012, 13:29
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|