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

 
 
> Как вы работаете с регистрами GPIOx_AFR?
allsettingsdone
сообщение Oct 20 2015, 08:11
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 22-01-13
Пользователь №: 75 284



Как вы настраиваете альтернативные функции у GPIO с помощью регистров GPIOx_AFR (например при настройке USART1 на PA9, PA10 на STM32F407VG) ? В стандартном файле описания периферии (stm32f4xx.h) - нет информации и масок для работы с этим регистром. Просто высчитываете сами битовую маску и записываете в этот регистр готовое число?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
allsettingsdone
сообщение Oct 20 2015, 08:51
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 22-01-13
Пользователь №: 75 284



Как узнать число, которое нужно записать в AFRH9 и AFRH10, что бы включить альтернативную функцию USART1 на PA9, PA10 на STM32F407? (это число состоит из 4-ёх бит согласно стр. 287 RM0090)

Сообщение отредактировал allsettingsdone - Oct 20 2015, 08:52
Go to the top of the page
 
+Quote Post
RadiatoR
сообщение Oct 20 2015, 09:24
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



Цитата(allsettingsdone @ Oct 20 2015, 11:51) *
Как узнать число, которое нужно записать в AFRH9 и AFRH10, что бы включить альтернативную функцию USART1 на PA9, PA10 на STM32F407? (это число состоит из 4-ёх бит согласно стр. 287 RM0090)


В вашем случае так:
GPIOA->AFR[1]|=0x770;

Если представить вышеуказанное число в двоичном виде, то у нас получится следующее:
0111 0111 0000.
Как вы и писали на каждую ножку настройка функций идет по 4 битам. Здесь последние 4 бита идут нули, а следующие 8 имеют значение 0х77, что соответствует 7 альтернативной функции (USART1) для вашего контроллера на ножках 9 и 10. Сами назначения функций (зависимость функции от числа) можно посмотреть в таблице альтернативных функций в даташите на контроллер
http://www.st.com/web/en/resource/technica.../DM00037051.pdf
Стр. 61

Сообщение отредактировал ЯadiatoR - Oct 20 2015, 09:29
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- allsettingsdone   Как вы работаете с регистрами GPIOx_AFR?   Oct 20 2015, 08:11
- - Golikov A.   Некоторые пользуются для этого кубом, но путь наст...   Oct 20 2015, 08:15
|- - scifi   Цитата(Golikov A. @ Oct 20 2015, 11:15) п...   Oct 20 2015, 08:29
- - smalcom   SPL )   Oct 20 2015, 08:41
- - Genadi Zawidowski   Или так... Код #define arm_stm32f30x_hardware_pi...   Oct 20 2015, 08:53
- - ViKo   Типа того. Раньше для альтернативных функций конкр...   Oct 20 2015, 08:56
- - AlanDrakes   ИМХО, в Datasheet на STM32F407, страница 61, описа...   Oct 20 2015, 10:17
- - Golikov A.   ну и есть дефайн AF0-AF15, его надо использовать в...   Oct 20 2015, 11:23
- - Эдди   В opencm3 нужные макросы есть. И даже функции врод...   Oct 20 2015, 11:24
- - esaulenka   Цитата(allsettingsdone @ Oct 20 2015, 11...   Oct 21 2015, 11:44
- - Golikov A.   а как этот правильный путь поможет задать альтерна...   Oct 21 2015, 13:12
|- - AHTOXA   Цитата(Golikov A. @ Oct 21 2015, 18:12) а...   Oct 21 2015, 14:46
|- - esaulenka   Цитата(Golikov A. @ Oct 21 2015, 16:12) а...   Oct 22 2015, 06:22
|- - den_po   Цитата(esaulenka @ Oct 22 2015, 09:22) Ес...   Oct 27 2015, 08:03
|- - AHTOXA   Дам ссылку на уже упомянутую в этой теме мою библ...   Oct 27 2015, 08:57
- - Golikov A.   ну это так докопаться....   Oct 21 2015, 14:47
- - adnega   Инициализирую все выводы в одном месте init_GPIO()...   Oct 22 2015, 07:15
- - Alechek   Инициалиация в одном месте хорошо. Но иногда не пр...   Oct 26 2015, 08:52


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 04:28
Рейтинг@Mail.ru


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