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

 
 
> LPC17xx I/O configuration, кто чем пользуется?
ibiza11
сообщение Jan 26 2013, 08:52
Сообщение #1


Участник
*

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



добрый день, уважаемые.
Расскажите, кто чем пользуется для конфигурации портов ввода/вывода под конкретную периферию?
Т.е. я понимаю, что можно вручную сидеть и прописывать, но это очень долго. Если выводов много (например для контроллеров в 208-выводном корпусе)
Спасибо.

PS. если кто не понял, то я про регистры IOCON_Px_nn

Сообщение отредактировал ibiza11 - Jan 26 2013, 08:55
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
SII
сообщение Jan 26 2013, 10:51
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



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

Что ж до "долго", то работа делается один раз, а в дальнейшем лишь копипаст и внесение необходимых изменений.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 26 2013, 11:18
Сообщение #3


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Не сговариваясь, затронули схожие темы sm.gif
Вы про это?
Go to the top of the page
 
+Quote Post
ibiza11
сообщение Jan 26 2013, 18:41
Сообщение #4


Участник
*

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



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

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

Прикрепленный файл  PinConfig.txt ( 184.47 килобайт ) Кол-во скачиваний: 161


Сообщение отредактировал ibiza11 - Jan 26 2013, 18:42
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 26 2013, 18:54
Сообщение #5


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



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

Там делается таблица во флеше, самое простое - пара значений адрес,данные и с некоторыми наворотами, подразумевающими наиболее часто встречающиеся ситуации. И конфигуратор закидывает это все подобно инициализации статических переменных. Как раз рантайм сведен к минимуму.
Go to the top of the page
 
+Quote Post
Iptash
сообщение Jan 26 2013, 19:04
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



Я пользую от NXP стандартную CMSIS, они много чего за нас прописали. В этой библиотеке много примеров по работе со всей переферией.
Go to the top of the page
 
+Quote Post
ibiza11
сообщение Jan 27 2013, 17:57
Сообщение #7


Участник
*

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



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

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

Добавлено: Мдаа... нашел lpc177x_8x_pinsel.c lpc177x_8x_pinsel.h
не разобрался еще с этими файлами, но полагаю, что я зря старался со своим парсером-генератором кода. sad.gif

Сообщение отредактировал ibiza11 - Jan 27 2013, 18:06
Go to the top of the page
 
+Quote Post
ibiza11
сообщение Jan 28 2013, 04:41
Сообщение #8


Участник
*

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



Добавляю проверенный файл, на случай если кому-то будет интересно. В первом варианте было несколько ошибок. Теперь при открытии файла в Keil появляется вкладка Configuration Wizard в которой доступны все порты.
Прикрепленный файл  PinConfig.h.txt ( 184.52 килобайт ) Кол-во скачиваний: 148
Go to the top of the page
 
+Quote Post
skyv
сообщение Jan 28 2013, 06:05
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606



Цитата(Iptash @ Jan 26 2013, 22:04) *
Я пользую от NXP стандартную CMSIS, они много чего за нас прописали. В этой библиотеке много примеров по работе со всей переферией.


Аналогично использую CMSIS для LPC17xx. Просто и удобно.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 28 2013, 06:34
Сообщение #10


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Макросы рулят


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:58
Рейтинг@Mail.ru


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