Загрузка данных


#include "stm32f1xx.h"

int main(void) {
    // 1. Тактирование порта A
    RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;

    // 2. PA0 — выход push-pull, 2 МГц
    GPIOA->CRL &= ~(0xF << (0 * 4));
    GPIOA->CRL |=  (0x2 << (0 * 4));

    // 3. Основной цикл
    while (1) {
        // Зажечь светодиод на PA0
        GPIOA->BSRR = (0x1UL << 0);    // PA0 = 1

        for (volatile uint32_t i = 0; i < 500000; i++);

        // Погасить светодиод на PA0
        GPIOA->BSRR = (0x1UL << 16);   // PA0 = 0

        for (volatile uint32_t i = 0; i < 500000; i++);
    }
}