Колеги, помогите разобратся с injected каналами в STM32L151
Нужно не часто получать значения по двум каналам. Нстраиваю injected каналы как показано ниже, и жду что после выставления бита
JSWSTART в регистрах JDR4 JDR3 появятся значения каналов 0 и 8.
Вместо этого значение почему-то появляется в регистре JDR1 , в остальных JDR нули.
Причём,
Если сделать так ADC1->JSQR|=(0<<10)|(8<<15); , то в JDR1 ,будет значение канала 8.
Если сделать так ADC1->JSQR|=(8<<10)|(0<<15); , то в JDR1 будет значение канала 0
То есть, работает так, как будно в цепочке только одно преобразование. Но ведь их два , указано и в битах ADC_JSQR_JL, и в битах
ADC_CR1_DISCNUM . Чего я не понимаю ?
Код
ADC1->CR1|=ADC_CR1_JDISCEN;//включаем Discontinuous mode , что бы преобразовывалась вся цепочка за раз
ADC1->CR1|=ADC_CR1_DISCNUM_0;//2 преобразования в цепочке
ADC1->JSQR|=ADC_JSQR_JL_0; //2 преобразования в цепочке injectid каналов
ADC1->JSQR|=(0<<10)|(8<<15); //injected каналы 1 и 8
......................
ADC->CR2|=ADC_CR2_JSWSTART; //запускаем преобразование injectid каналов