====== 06 - Compare režim ====== #include "stm32f4xx.h" #define setBit(reg, bit) ((reg) |= (1<APB1ENR, x); // Povoleni hodin casovace TIMx setBit(TIMx->CR1, 0); // Povoleni casovace TIMx TIMx->PSC = ?; // preddelicka ? na ? MHz TIMx->ARR = ?; // autoreload registr na ? Hz clrBit(TIMx->SR, 0); // Obnoveni status registru po prerueseni setBit(TIMx->CCMRx, ?); // PWM1 mode pro CCx setBit(TIMx->CCMRx, ?); // PWM1 mode pro CCx setBit(TIMx->CCER, ?); // Povoleni vystupu CCx setBit(GPIOx->MODER, ?); // Nastaveni AF pro Pxy setBit(GPIOx->AFR[?], ?); // Nastaveni AFx pro pin Pxy setBit(RCC->AHB1ENR, ?); // Povoleni hodin pro GPIOx } int main(void){ int i = 0; setBit(RCC->CR, 0); // Nastaveni HSI jako zroj hodin (16MHz) while (!readBit(RCC->CR, 1)); // Vyckej nez bude HSI stabilni PWMInit(); while(1){ for(int k=0;k<10000;k++); TIMx->CCRx = i++; if(i >1000) i = 0; } }