Начал изучение stm32f4, имея на руках платку discovery.
Решил помигать диодиками. В процессе изучения Reference manual и ознакомления с заголовочным файлом stm32f4xx.h появились вопросы.
1. В заголовочных файлах есть описания регистров BSRRL и BSRRH один регистр GPIO port bit set/reset low register другой GPIO port bit set/reset high register. Прошу пояснения в чем разница между ними?
2. Так же в том же файле есть описания
#define GPIO_MODER_MODER0 ((uint32_t)0x00000003)
#define GPIO_MODER_MODER0_0 ((uint32_t)0x00000001)
#define GPIO_MODER_MODER0_1 ((uint32_t)0x00000002)
И так на каждую лини по три таких строчки
MODER -это регистр установки линии порта на вход выход, аналоговый сигнал или режим альтернативного функционирования. Вот и возник вопрос почему режима четыре, а строчки три? Или я чего-то не понял?
А еще совсем нубский вопрос касающийся шестнадцатиричных чисел. И записи в регистр какого-либо значения.
Допустим есть регистр MODER. Чтобы проинициализировать каждый вывод регистра надо 2 бита. 16 линий => 32 бита надо установить. Пусть 15, 14, 13, 12 линии я конфигурирую как 01, значит в регистр я должен записать 01010101000000000000000000000000 (это двоичная система-верно? ноль вначале можно откинуть?). Теперь к вопросу. Я в примерах встречал что эта запись аналогична записи в 16х системе 0х55000000 собственно как это получается? И почему у меня в наглую не получилось записать в регистр MODER двоичное число? Спасибо за ответ



