red-30 0 10 августа, 2019 Опубликовано 10 августа, 2019 (изменено) · Жалоба RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; ADC1->CFGR1 |= ADC_CFGR1_EXTEN_0 | ADC_CFGR1_EXTSEL_2 | ADC_CFGR1_CONT | ADC_CFGR1_SCANDIR; ADC1->CHSELR = ADC_CHSELR_CHSEL9 | ADC_CHSELR_CHSEL17 | ADC_CHSELR_CHSEL18; ADC1->SMPR |= ADC_SMPR_SMP_0 | ADC_SMPR_SMP_1 | ADC_SMPR_SMP_2; ADC1->IER |= ADC_IER_EOCIE | ADC_IER_EOSEQIE | ADC_IER_OVRIE; ADC->CCR |= ADC_CCR_VREFEN | ADC_CCR_TSEN; NVIC_EnableIRQ(ADC1_COMP_IRQn); NVIC_SetPriority(ADC1_COMP_IRQn,0); RCC->APB2ENR |= RCC_APB2ENR_TIM22EN; TIM22->CR1 = TIM_CR1_URS; TIM22->CR2 = TIM_CR2_MMS_1; TIM22->PSC = 32000-1; TIM22->ARR = 1000-1; TIM22->CR1 |= TIM_CR1_CEN; Таймер работает, считает 1 секунду, но не запускает АЦП. Что я делаю неправильно?Я использовал пример из RM. Я хочу, чтобы АЦП запускался по таймеру, и после приходило прерывание, где я бы забирал результат и так далее. Изменено 11 августа, 2019 пользователем red-30 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 14 11 августа, 2019 Опубликовано 11 августа, 2019 · Жалоба Может, надо включить АЦП: ADC1->CR |= ADC_CR_ADEN; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться