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

 
 
 
Reply to this topicStart new topic
Novichok1
сообщение Jul 23 2009, 08:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032



Доброго времени суток!
Недавно начал знакомиться с микроконтроллерами (LPC2478), и среди прочего у меня возникло недопонимание функций регистров PINSELx и PINMODEx, и как с ними обращаться. Как понимаю, PINSEL0 изменяет функции пинов, но как именно, для меня остается пока загадкой; также нет точного представления для чего нужны остальные PINSELx и PINMODEx.
Я понимаю, что вопрос может быть глупый, но ответа я пока не нашел, надеюсь на вашу помощь.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Jul 23 2009, 08:15
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(Novichok1 @ Jul 23 2009, 12:09) *
Доброго времени суток!
Недавно начал знакомиться с микроконтроллерами (LPC2478), и среди прочего у меня возникло недопонимание функций регистров PINSELx и PINMODEx, и как с ними обращаться. Как понимаю, PINSEL0 изменяет функции пинов, но как именно, для меня остается пока загадкой; также нет точного представления для чего нужны остальные PINSELx и PINMODEx.
Я понимаю, что вопрос может быть глупый, но ответа я пока не нашел, надеюсь на вашу помощь.


так в даташите все нерусским по белому... Каждый PINSELx конфигурит 32/4=8 пинов какого-то порта (по 4 функции на пин)
PINMODE задает режим работы pull-up и pull-down на каждый пин порта... Читайте мануал
Go to the top of the page
 
+Quote Post
richie
сообщение Jul 23 2009, 08:50
Сообщение #3


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

Группа: Свой
Сообщений: 147
Регистрация: 5-07-04
Из: Обнинск
Пользователь №: 261



Аппаратуры много в камне запихано, а ног мало. Максимально мозможно что конкретная нога может быть использоваться
в одной из 4 аппаратур (см. UserManual на семейтво чипов, таблички с каждым PINSELx, два бита конфигурируют 1 ногу).
После ресета, до конфигурирования портов, все пиня стандартно являются GPIO (ввод-вывод), т.е. все PINSELx = 0x00000000,
где x - 0,1,2,3 и т.д.
Go to the top of the page
 
+Quote Post
Novichok1
сообщение Jul 23 2009, 09:26
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032



Тогда выходит, что для конфигурирования P2.10 для второй функции этого пина EINT0 мы должны выпонить что-то похожее на следующее:
PINSEL9=0x00000200,
что неправильно.
А в мануале выведено следующее

PINSEL0 = 0x20000000; //Select the EINT0 function in the pin connect block

Что по идее должно значить, что у нулевого порта восьмая ножка настроена на вторую функцию.
(0x20000000 = 10 0000 0000 0000 0000 0000 0000 0000)
Это при условии, что одну один PINSEL конфигурирует 8 пинов(4 бита на пин при полной загрузке регистра, что помоему тоже неправильно).
А при условии, что один пин конфигурирует 2 бита, как писал Richie, и как написано в мануале, то у нулевого порта 15 ножка сконфигурирована на третью функцию.

Вот я и не понимаю, как происходит собственно настройка функций пиновsad.gif

Сообщение отредактировал Novichok1 - Jul 23 2009, 09:46
Go to the top of the page
 
+Quote Post
LessNik
сообщение Jul 23 2009, 10:23
Сообщение #5


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

Группа: Свой
Сообщений: 107
Регистрация: 6-09-06
Из: Москва
Пользователь №: 20 118



Цитата(Novichok1 @ Jul 23 2009, 13:26) *
А в мануале выведено следующее

PINSEL0 = 0x20000000; //Select the EINT0 function in the pin connect block

Что по идее должно значить, что у нулевого порта восьмая ножка настроена на вторую функцию.
(0x20000000 = 10 0000 0000 0000 0000 0000 0000 0000)


1. В каком мануале? В LPC24XX User manual Rev. 03 — 15 January 2009 PINSEL4 биты 21:20 должны быть равны 01 для ~EINT0
2. Где это написано "PINSEL0 = 0x20000000; //Select the EINT0 function in the pin connect block" ?
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
Novichok1
сообщение Jul 23 2009, 11:19
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032



О, теперь все ясно! Спасибо большое всем откликнувшимся! Вы мне очень помогли!
To LessNik:
Вычитал это в мануале на семейство LPC23:lpc2300_book_v2.smile.gif
Go to the top of the page
 
+Quote Post
LessNik
сообщение Jul 23 2009, 11:32
Сообщение #7


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

Группа: Свой
Сообщений: 107
Регистрация: 6-09-06
Из: Москва
Пользователь №: 20 118



Цитата(Novichok1 @ Jul 23 2009, 15:19) *
О, теперь все ясно! Спасибо большое всем откликнувшимся! Вы мне очень помогли!
To LessNik:
Вычитал это в мануале на семейство LPC23:lpc2300_book_v2.smile.gif


В следующий раз, если цитируете что-то, приводите документ, чтобы не сбивать с толку людей.
У Вас микроконтроллер LPC2478 - семейство LPC24XX , а LPC23:lpc2300_book_v2 описывает другое семейство микроконтроллеров
=> читайте LPC24XX User manual и всё получится wink.gif
Go to the top of the page
 
+Quote Post
Novichok1
сообщение Jul 23 2009, 11:52
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032



Ну да, полностью с Вами согласен!)
Go to the top of the page
 
+Quote Post
Novichok1
сообщение Jul 24 2009, 06:43
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032



А вы не могли бы еще на один вопрос ответить?)
http://electronix.ru/forum/index.php?showt...=65478&st=0
Go to the top of the page
 
+Quote Post

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

 


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


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