Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stm32f10x.h"
- void gpio_init(void);
- void mco_init(void);
- void gpio_init() {
- // enable PORTC GPIO13 to output push-pull with max_speed 50MHz
- RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
- GPIOC->CRH &= ~(GPIO_CRH_CNF13|GPIO_CRH_MODE13);
- GPIOC->CRH |= GPIO_CRH_MODE13;
- }
- void mco_init() {
- RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
- GPIOA->CRH &= ~(GPIO_CRH_CNF8|GPIO_CRH_MODE8);
- GPIOA->CRH |= GPIO_CRH_CNF8_1|GPIO_CRH_MODE8;
- RCC->CFGR &= ~RCC_CFGR_MCO;
- RCC->CFGR |= RCC_CFGR_MCO_SYSCLK;
- }
- int main() {
- gpio_init();
- mco_init();
- uint32_t r = GPIOC->ODR;
- for (;;) {
- r ^= GPIO_ODR_ODR13;
- GPIOC->ODR = r;
- r ^= GPIO_ODR_ODR13;
- GPIOC->ODR = r;
- r ^= GPIO_ODR_ODR13;
- GPIOC->ODR = r;
- r ^= GPIO_ODR_ODR13;
- GPIOC->ODR = r;
- r ^= GPIO_ODR_ODR13;
- GPIOC->ODR = r;
- r ^= GPIO_ODR_ODR13;
- GPIOC->ODR = r;
- r ^= GPIO_ODR_ODR13;
- GPIOC->ODR = r;
- r ^= GPIO_ODR_ODR13;
- GPIOC->ODR = r;
- r ^= GPIO_ODR_ODR13;
- GPIOC->ODR = r;
- r ^= GPIO_ODR_ODR13;
- GPIOC->ODR = r;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement