Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Виртуальный порт stm32
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Ruslan.B
Возникла необходимость выводить информацию по параллельной шине. В связи с этим, как мне объявить порт на несколько линий и не трогать другие выводы, данные из массива в порт и всё? Напрямую в ODR вроде как плохо. А через BRR и прочие - нельзя же сделать это проще, установка так, сброс иначе...
Использую, сравнительно недавно libopencm3. На си пишу тоже недавно, старый ассемблерщик 8051/avr/pic. Подскажите пожалуйста какое-нибудь не извращенское решение, а то написать своё я могу и оно даже работать будет но хочется узнать как это делают люди.

jcxz
Цитата(Ruslan.B @ Apr 28 2016, 13:50) *
Возникла необходимость выводить информацию по параллельной шине. В связи с этим, как мне объявить порт на несколько линий и не трогать другие выводы, данные из массива в порт и всё? Напрямую в ODR вроде как плохо. А через BRR и прочие - нельзя же сделать это проще, установка так, сброс иначе...

Для параллельной шины в STM32 вроде как имеется FSMC.
ViKo
Цитата(Ruslan.B @ Apr 28 2016, 10:50) *
Напрямую в ODR вроде как плохо. А через BRR и прочие - нельзя же сделать это проще, установка так, сброс иначе...

И так можно, и так. Через BSRR можно одной командой и сбросить нужные биты, и установить. Написать макрос и забыть об этом неудобстве.
Или inline функцию. Что, в-общем-то, одно и то же.
AHTOXA
На плюсах можно сделать красиво. Вот тут коллега neiver рассказывает, как. (Он выкладывал статью про это, но я что-то с ходу её не нашёл).
Если плюсы не вариант, то вот тут статья от того же автора, делающая то же при помощи препроцессорной магии.
А вообще, если задача разовая, то я поддерживаю коллегу ViKo - написать функцию записи и забыть. Сформировать масочку для BSRR, записать её в регистр, и всё.

----
Добавлено: нашёл статью: вот здесь.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.