eddy_em: (Default)
[personal profile] eddy_em
Пытаюсь, пока делать нечего, набросать базовых сниппетов для работы с STM32F103. Добавил директорию и начал с простого "блинка". Тупо зажечь светодиоды на плате не получилось. Вот такой элементарный код:
int main(void){
    sysreset();
    RCC->APB2ENR |= RCC_APB2ENR_IOPBEN;
    GPIOB->CRH = 0x00000066; // PB8/9 - 2MHz opendrain 
    GPIOB->ODR = 0;
    while(1){}
    return 0;
}

не работает! И если sysreset() убрать, тоже светодиоды на PB8 и PB9 не загораются. А ведь по идее сразу после резета запускается reset_handler, а дальше уже можно вручную sysreset запустить (это то, что запускается в SPL автоматом из стартап-скрипта на ассемблере; я-то по аналогии с STM32F0 сделал на основе opencm3), после чего настроить HSE.

Буду дальше разбираться, что за чертовщина такая!!! Надо бы поискать что-нибудь более-менее подходящее для меня, чтобы не нужно было по чужому коду туда-сюда скакать.

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 11:10 pm
Powered by Dreamwidth Studios