Решил для начала померить ШИМ в канале 3. Код
CODE
//настроим порты входа
GPIOB_CRL_bit.MODE0 = 0;//Вход
GPIOB_CRL_bit.CNF0 = 1;
GPIOB_CRL_bit.MODE1 = 0;//Вход
GPIOB_CRL_bit.CNF1 = 1;
RCC_APB1ENR_bit.TIM3EN = 1; // подадим клоки
TIM3_PSC = 552;
TIM3_ARR = 0x7fff;
TIM3_CCMR2_bit.IC3S = 1;//подадим на IC3 сигнал с входа TI3 (Tim3_CH3)
TIM3_CCER_bit.CC3P = 0;// захват по нарастающему фронту
TIM3_CCMR2_bit.IC4S = 2;//подадим на IC4 сигнал с входа TI3 (Tim3_CH3)
TIM3_CCER_bit.CC4P = 1;// захват по спадающиму фронту
TIM3_SMCR_bit.TS = 0x5;// триггер Filtered Timer Input 1 (TI1FP1)
TIM3_SMCR_bit.SMS = 0x4; //Reset mode
TIM3_CCER_bit.CC3E = 1;
TIM3_CCER_bit.CC4E = 1;
TIM3_CR1_bit.CEN = 1;
GPIOB_CRL_bit.MODE0 = 0;//Вход
GPIOB_CRL_bit.CNF0 = 1;
GPIOB_CRL_bit.MODE1 = 0;//Вход
GPIOB_CRL_bit.CNF1 = 1;
RCC_APB1ENR_bit.TIM3EN = 1; // подадим клоки
TIM3_PSC = 552;
TIM3_ARR = 0x7fff;
TIM3_CCMR2_bit.IC3S = 1;//подадим на IC3 сигнал с входа TI3 (Tim3_CH3)
TIM3_CCER_bit.CC3P = 0;// захват по нарастающему фронту
TIM3_CCMR2_bit.IC4S = 2;//подадим на IC4 сигнал с входа TI3 (Tim3_CH3)
TIM3_CCER_bit.CC4P = 1;// захват по спадающиму фронту
TIM3_SMCR_bit.TS = 0x5;// триггер Filtered Timer Input 1 (TI1FP1)
TIM3_SMCR_bit.SMS = 0x4; //Reset mode
TIM3_CCER_bit.CC3E = 1;
TIM3_CCER_bit.CC4E = 1;
TIM3_CR1_bit.CEN = 1;
Нету захвата. В даташите схема таймера. Тригер может быть запущен только с IC1 и IC2. Но судя по схеме, вроде есть возможность канал TI3 перенаправить в TI1 чтобы получить TI1F_ED или TI1FP1. Не могу понять, для этого нужно ещё какие-то биты прописывать? или TI3 по умолчанию прицеплен к TI1 через XOR?
ps Ну и если 2-ой ШИМ физически подан на ногу TIM3_CH4. Я так понял что автоматическое измерение праметров ШИМ не получится с это ноги?