Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC17xx I/O configuration
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
ibiza11
добрый день, уважаемые.
Расскажите, кто чем пользуется для конфигурации портов ввода/вывода под конкретную периферию?
Т.е. я понимаю, что можно вручную сидеть и прописывать, но это очень долго. Если выводов много (например для контроллеров в 208-выводном корпусе)
Спасибо.

PS. если кто не понял, то я про регистры IOCON_Px_nn
SII
Именно ручками. Правда, я низкоуровневый код целиком на ассемблере пишу.

Что ж до "долго", то работа делается один раз, а в дальнейшем лишь копипаст и внесение необходимых изменений.
_Pasha
Не сговариваясь, затронули схожие темы sm.gif
Вы про это?
ibiza11
Согласен, что один раз, но все равно, там же можно ой как ошибиться. если посчитать только порты IOCON_Px_nn - их получается аж 164. И это все ручками?
Написал небольшой парсер и с его помощью файлик для Keil`а сгенерировал, который через Configuration Wizard Keil`а дает возможность все выставить ручками ничего не перепутав с битами. Его надо добавить в проект и выполнить PIN_CFG(); (предварительно настроив в Configuration Wizard функции портов)
Честно говоря пока не проверял файлик - негде. Если интересно, файл прикреплен к сообщению. Расширение сменить на .h

2 _Pasha почитал Вашу ветку, но не понял зачем в рантайме вычислять значения, которые можно заранее посчитать? Прошу простить, если я что-то не так понял из Вашей темы.

Нажмите для просмотра прикрепленного файла
_Pasha
Цитата(ibiza11 @ Jan 26 2013, 21:41) *
2 _Pasha почитал Вашу ветку, но не понял зачем в рантайме вычислять значения, которые можно заранее посчитать? Прошу простить, если я что-то не так понял из Вашей темы.

Там делается таблица во флеше, самое простое - пара значений адрес,данные и с некоторыми наворотами, подразумевающими наиболее часто встречающиеся ситуации. И конфигуратор закидывает это все подобно инициализации статических переменных. Как раз рантайм сведен к минимуму.
Iptash
Я пользую от NXP стандартную CMSIS, они много чего за нас прописали. В этой библиотеке много примеров по работе со всей переферией.
ibiza11
To _Pasha: Да, теперь понятно. Спасибо. У меня немного другой случай, мне не нужно менять конфиг на лету, поэтому все сводится к единичной инициализации в начале программы. Когда будет время на STM32, обязательно посмотрю еще раз Вашу ветку.

Iptash, я не нашел в библиотеке ни одного примера касающегося конфигурации регистров IOCON_Px_nn. Подскажите, где это там?

Добавлено: Мдаа... нашел lpc177x_8x_pinsel.c lpc177x_8x_pinsel.h
не разобрался еще с этими файлами, но полагаю, что я зря старался со своим парсером-генератором кода. sad.gif
ibiza11
Добавляю проверенный файл, на случай если кому-то будет интересно. В первом варианте было несколько ошибок. Теперь при открытии файла в Keil появляется вкладка Configuration Wizard в которой доступны все порты.
Нажмите для просмотра прикрепленного файла
skyv
Цитата(Iptash @ Jan 26 2013, 22:04) *
Я пользую от NXP стандартную CMSIS, они много чего за нас прописали. В этой библиотеке много примеров по работе со всей переферией.


Аналогично использую CMSIS для LPC17xx. Просто и удобно.
demiurg_spb
Макросы рулят
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.