Sebastian T. schrieb:
> TIM2->CCER = (1<<TIM_CCER_CC2E);
Du schiebst hier zu weit ;)
Im Header sieht das so aus:
1 | #define TIM_CCER_CC2E_Pos (4U)
|
2 | #define TIM_CCER_CC2E_Msk (0x1U << TIM_CCER_CC2E_Pos)
|
3 | #define TIM_CCER_CC2E TIM_CCER_CC2E_Msk
|
Also kannst du entweder
TIM2->CCER = 1 << TIM_CCER_CC2E_Pos
oder
TIM2->CCER = TIM_CCER_CC2E
machen. Das gleiche gilt für
> TIM2->EGR = (1<<TIM_EGR_UG);
wobei du das sowieso weglassen kannst, so lange du ARR und PSC nicht
pufferst (Auto-reload preload).
Sebastian T. schrieb:
> GPIOA->MODER = GPIO_MODER_MODER1_0; //Timer2 Output
Das muss du zu
GPIOA->MODER = GPIO_MODER_MODER1_1;
machen, weil du ja den GPIO auf "alternate function mode" konfigurieren
willst, damit er auch mit dem Timer funzt. Im MODERy ist 0b01 GPIO
output und 0b10 ist AF.