stm32f4 cmsis ADC прерывание инжектированніх каналов

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

stm32f4 cmsis ADC прерывание инжектированніх каналов

Сообщение ivan dimir »

Как правильно настроить инжектированніе каналы в прерывании?
void adc1_init(void)
{
GPIOA->MODER |= GPIO_MODER_MODER0;
GPIOA->MODER |= GPIO_MODER_MODER1;
GPIOA->MODER |= GPIO_MODER_MODER2;

RCC->APB2ENR|=RCC_APB2ENR_ADC1EN;

ADC1->CR2 |=ADC_CR2_CONT;//включить АЦП

ADC1->CR2|=ADC_CR2_JEXTSEL;
ADC1->CR2 |=ADC_CR2_JEXTEN;
// ADC1->CR1|=ADC_CR1_JAUTO;


// ADC1->CR2 &=~ ADC_CR2_ADON;
ADC1->SMPR2 |= ADC_SMPR2_SMP1_0; //1
ADC1->SMPR2|=ADC_SMPR2_SMP1_1; //1
ADC1->SMPR2 |= ADC_SMPR2_SMP1_2; //1


ADC1->JSQR|=ADC_JSQR_JSQ4_0;
ADC1->JSQR&=~ADC_JSQR_JSQ4_1;
ADC1->JSQR&=~ADC_JSQR_JSQ4_2;
ADC1->JSQR&=~ADC_JSQR_JSQ4_3;
// ADC1->SQR3 |=ADC_SQR3_SQ1_0; //1 IN1
// ADC1->SQR3 &= ~ ADC_SQR3_SQ1_1; //0
// ADC1->SQR3 &= ~ADC_SQR3_SQ1_2; //0
// ADC1->SQR3 &=~ ADC_SQR3_SQ1_3; //0
// ADC1->SQR3 &= ~ADC_SQR3_SQ1_4;
// ADC1->CR2 |= ADC_CR2_ADON;
// ADC1->CR2 &=~ ADC_CR2_ADON;

ADC1->CR1|= ADC_CR1_JEOCIE;

ADC1->CR2 |= ADC_CR2_ADON;

NVIC_EnableIRQ ( ADC_IRQn);
ADC1->CR2 |= ADC_CR2_JSWSTART;

} что здесь не хватает?

Добавлено after 2 minutes 30 seconds:
Только тогда считатся данные когда нажимаешь ресет?

Добавлено after 4 seconds:
Только тогда считатся данные когда нажимаешь ресет?

Добавлено after 1 hour 11 minutes 16 seconds:
ау?

Добавлено after 4 seconds:
ау?
Реклама
Ответить

Вернуться в «ARM»