Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Если у вас есть в наличии любая другая плата на базе STM32F2xx/STM32F4xx, вы сможете работать с ней.
//Enable port D clocking
*(unsigned long*)(0x40023830) |= 0x8;
#define RCCAHB1_ENR (unsigned long*)0x40023830
//Enable port D clocking
*RCCAHB1_ENR |= 0x8;
RCC->AHB1ENR |= RCC_AHB1ENR_IOPDEN;
#define RCCAHB1_ENR (*(unsigned long*)0x40023830)
#define RCCAHB1_PORTD 0x8
//Enable port D clocking
RCCAHB1_ENR |= RCCAHB1_PORTD;
#define EnableLED1() ((unsigned long*)(0x40020C14) |= 0x2000)
RCC->AHB1ENR |= RCC_AHB1ENR_IOPDEN
RCC->AHB1ENR |= RCC_AHB1Periph_SRAM1;
Регистры у F4xx и F1xx отличаются, у тех же GPIO, допустим. Настраиваются по-разному, у F1xx режим с настройками упиханы в общий регистр, у F4xx — отдельные регистры.Ещё ощутимо различается настройка AF in, т. к. на F1xx используется IN_FLOATING, а на F4xx AF. Плюс ремаппер, да.
В библиотеках от производителя иногда встречаются ошибкиЯ как-то час убил пытаясь сопоставить логику работы кода по инициализации UART в примере на TI'шный stellaris launchpad и в мануале на него же. В итоге оказалось что алгоритм в примере был не правильный, но в частном случае «по умолчанию» он таки работал.
пришлось несколько пакетов переместить из AUR в [community]Вы Anatol Pomozov?
Проверить, что это возможно?
Что до магических чисел. Я, например, как адепт старой школы, на автопилоте всем константам прописываю мнемонические названия.Это не старая школа, это — обычный, но необходимый, навык. Присутствие магических чисел в коде — очень серьезный code smell.
Начинаем изучать Cortex-M на примере STM32