реклама на сайте
подробности

 
 
> Для чего в файле stm32f4xx.h эти странные битовые маски?
r44083
сообщение Oct 19 2015, 22:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 13-09-15
Пользователь №: 88 376



Для чего в файле stm32f4xx.h, начиная со стоки №6795, расположены ниже приведенные определения?
Если вы считаете, что эти маски можно как-то использовать в рамках GPIO, то приведите пожалуйста конкретный пример.
Код
#define GPIO_BSRR_BR_0                       ((uint32_t)0x00010000)
#define GPIO_BSRR_BR_1                       ((uint32_t)0x00020000)
#define GPIO_BSRR_BR_2                       ((uint32_t)0x00040000)
#define GPIO_BSRR_BR_3                       ((uint32_t)0x00080000)
#define GPIO_BSRR_BR_4                       ((uint32_t)0x00100000)
#define GPIO_BSRR_BR_5                       ((uint32_t)0x00200000)
#define GPIO_BSRR_BR_6                       ((uint32_t)0x00400000)
#define GPIO_BSRR_BR_7                       ((uint32_t)0x00800000)
#define GPIO_BSRR_BR_8                       ((uint32_t)0x01000000)
#define GPIO_BSRR_BR_9                       ((uint32_t)0x02000000)
#define GPIO_BSRR_BR_10                      ((uint32_t)0x04000000)
#define GPIO_BSRR_BR_11                      ((uint32_t)0x08000000)
#define GPIO_BSRR_BR_12                      ((uint32_t)0x10000000)
#define GPIO_BSRR_BR_13                      ((uint32_t)0x20000000)
#define GPIO_BSRR_BR_14                      ((uint32_t)0x40000000)
#define GPIO_BSRR_BR_15                      ((uint32_t)0x80000000)


На данный момент мне кажется, что это ошибка в stm32f4xx.h, потому что GPIO_BSRR_BR_x - никак не используется:

Код
//запись бита
GPIOA->BSRRL |= GPIO_BSRR_BS_0;

//сброс бита
GPIOA->BSRRH |= GPIO_BSRR_BS_0;


Сообщение отредактировал r44083 - Oct 19 2015, 22:34
Прикрепленные файлы
Прикрепленный файл  stm32f4xx.zip ( 93.04 килобайт ) Кол-во скачиваний: 7
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Шаманъ
сообщение Oct 20 2015, 06:55
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(r44083 @ Oct 20 2015, 01:18) *
Для чего в файле stm32f4xx.h, начиная со стоки №6795, расположены ниже приведенные определения?
Если вы считаете, что эти маски можно как-то использовать в рамках GPIO, то приведите пожалуйста конкретный пример.


Например, установить бит 0 и сбросить бит 1 (одновременно).
Код
GPIOA->BSRR = GPIO_BSRR_BS_0 | GPIO_BSRR_BR_1;


Я у себя такое часто использую, правда контроллер stm32f1xx, но вроде GPIO одинаковое у всех.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 13:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016