|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
||||||
GPIO без HAL07.06.2021, 23:04. Показов 2555. Ответов 33
Метки нет (Все метки)
Хочу помигать светодиодом без библиотеки HAL, но не получается. Что я не так делаю?
1
|
||||||
| 07.06.2021, 23:04 | |
|
Ответы с готовыми решениями:
33
STM32F429+CooCox без HAL
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||||||||||
| 15.06.2021, 15:37 | ||||||||||
0
|
||||||||||
|
4144 / 2722 / 433
Регистрация: 09.09.2017
Сообщений: 12,055
|
||||||||||||||
| 15.06.2021, 15:56 | ||||||||||||||
В варианте с массивом можно сделать так:
Надо будет помедитировать над этим.
0
|
||||||||||||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||||||||
| 15.06.2021, 16:23 | ||||||||
|
В отношении же get()/set() я говорил, потому что сплошь и рядом в регистрах есть флаги, и есть сдвоенные регистры на чтение и запись. Скажем, выражение для, например 16ти битного SPI:
0
|
||||||||
|
4144 / 2722 / 433
Регистрация: 09.09.2017
Сообщений: 12,055
|
|||||||||
| 15.06.2021, 18:42 | |||||||||
Не хотелось бы, чтобы мне "давали по голове" за подобное.
0
|
|||||||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||||||||
| 15.06.2021, 21:10 | ||||||||
0
|
||||||||
|
4144 / 2722 / 433
Регистрация: 09.09.2017
Сообщений: 12,055
|
||||
| 15.06.2021, 22:29 | ||||
|
0
|
||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||||
| 16.06.2021, 08:26 | ||||
|
PS: я ощущаю Ваш воинственный "дух" отстоять использование макросов, и не использовать inline-функции вместо ). У меня нет цели Вас переубедить ). Почитайте рекомендации C-guidelines от Google, MIT, MISRA и др. - это понятно, что верить "какому-то там" явно не очевидно ).
0
|
||||
|
4144 / 2722 / 433
Регистрация: 09.09.2017
Сообщений: 12,055
|
||||||||||||
| 16.06.2021, 09:57 | ||||||||||||
Что же до макросов, лично я уже в некоторой степени наловчился ими жонглировать и не ощущаю особых трудностей. Хотел было написать, что достаточно понять, что это всего лишь текстовая подстановка в исходный код - но нет, правила разворачивания аргументов не очевидны и мне. Поэтому шаблоны мне не нравятся - я их не знаю. А inline функции действительно имеют ряд ограничений. Например, их не всегда можно определить в заголовочном файле, они могут конфликтовать сами с собой, они не могут разворачиваться в несколько выходных значений, для них нельзя гарантировать то, что они правда заинлайнятся. Скажем, ардуино-подход (включая ST-HAL, естественно) меня не устраивает именно потому что порт хранится в переменной, и у компилятора нет даже шанса его оптимизировать в 1-3 инструкции. Ну и провоцирует излишнюю универсальность вроде хранения номера SPI в переменной вместо макроса/константы. Но в реальности это нужно примерно никогда: плата как разведена, так разведена, в процессе работы микросхема не переползет на другой порт. Кликните здесь для просмотра всего текста
В stm32l1 для АЦП можно задать последовательность каналов. Контроллер читает регистры ADC_SQR5 - ADC_SQR1, группами по 5 битов (5-битный номер очередного канала). Вот чтобы самому не высчитывать к какому регистру нужный номер относится, я написал макрос
ADC_SEQ_SET(номер_АЦП, номер_в_списке, номер_канала). Не без костылей, конечно, но вроде работает.
1
|
||||||||||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|||||||
| 16.06.2021, 11:28 | |||||||
|
и кстати сказать,
0
|
|||||||
|
4144 / 2722 / 433
Регистрация: 09.09.2017
Сообщений: 12,055
|
||||||
| 16.06.2021, 12:16 | ||||||
|
0
|
||||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 16.06.2021, 12:28 | ||
|
PS: относится и к последущим комментам. Можно использовать неименованые битовые поля (unnamed bit fields)
0
|
||
|
4144 / 2722 / 433
Регистрация: 09.09.2017
Сообщений: 12,055
|
|
| 16.06.2021, 13:11 | |
|
Как это поможет оформить пятерки битов в единый массив?
Потому что вариант с "заразервированными" полями ничем не лучше прямой работы с регистрами: все тот же ручной выбор регистра, все тот же ручной выбор позиции в регистре.
0
|
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 16.06.2021, 13:20 | ||
|
0
|
||
|
4144 / 2722 / 433
Регистрация: 09.09.2017
Сообщений: 12,055
|
|
| 16.06.2021, 13:26 | |
|
Неважно насколько он лучше или хуже выглядит. Если он не решает проблему, он бесполезен.
0
|
|
| 16.06.2021, 13:26 | |
|
Подключение LCD 1602 через I2C к STM32F4 без библиотеки Hal FreeRTOS и HAL без кодгенератора Qt + gpio ADC and GPIO GPIO и LPC11xx Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|