Всем привет)Вот пытаюсь завести цап, и снова что-то не учел( подскажите пожалуйста что не так?
пытаюсь завести цап по таймеру!
я правильно выбрал канал? я рассуждал так! что битами JL[1:0] я выбираю кол-во каналов в группе, а вот как выбирается сам канал я не очень разобрался!!!в примере, с сайта стм, таким образом "ADC1->JSQR |=(1<<15)" выбирается первый канал,т.е записью"1" в набор битов JSQ4[4:1]! т.е что бы включить 5 канал, мне нужно записать 5 в JSQ4[4:1] ?хотя нет что-то не то(((((блин....как происходит выбор канала?
Цитата
//***********TIM2***************
RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; // тактирование таймера
TIM2->PSC = 10-1;
TIM2->ARR = 1379; //
TIM2->CCR1 = 22;
TIM2->CR1 |= TIM_CR1_ARPE; // разрешаем перезагрузку ARR
TIM2->CCR3 =222;
//-----------------
TIM2->CR2 |= TIM_CR2_MMS_1; // update event is selected as trigger output (TRGO).
TIM2->CR1 |= TIM_CR1_CEN; // запуск таймера
TIM2->DIER |= TIM_DIER_UIE; // прерывания по переполнению
Цитата
//***********ADC1***************
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; // тактирование
ADC1->SMPR2 |=ADC_SMPR2_SMP1; // сэмплирование 111: 480 cycles
ADC1->CR2 |=ADC_CR2_CONT; // Непрерывное преобразование
ADC1->CR1 |=ADC_CR1_JAUTO; // Automatic injected group conversion
ADC1->JSQR |=(1<<15); //Задаем номер канала (выбран ADC1 CH1)
ADC1->CR2 |=(ADC_CR2_JEXTSEL_0|ADC_CR2_JEXTSEL_1);// 0011: Timer 2 TRGO event
ADC1->CR2 |=ADC_CR2_ADON; //Теперь включаем АЦП
ADC1->CR2 |=ADC_CR2_JSWSTART; //Запуск преобразований
dac_i=ADC1->JDR1;