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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Тонкости работы с LPC2xxx, много разных мелочей
GetSmart
сообщение Nov 15 2007, 10:11
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Для начала, кто знает как инвертировать пин P0.31 на процах LPC213x ?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 15 2007, 10:41
Сообщение #2


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(GetSmart @ Nov 15 2007, 13:11) *

Как вариант.
#define LED3_ON (IO0CLR_bit.P0_31 = 1)
#define LED3_OFF (IO0SET_bit.P0_31 = 1)
#define Test_LED3 (IO0PIN_bit.P0_31)

if(Test_LED3) LED3_ON ;
else LED3_OFF;
Go to the top of the page
 
+Quote Post
etoja
сообщение Nov 15 2007, 10:50
Сообщение #3


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

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



P0.31 -только на вывод.

Как писал DASM
(http://electronix.ru/forum/index.php?showtopic=38750&pid=317363&mode=threaded&show=&st=0&#entry317363)

"Битиком нельзя вот почему. на P0-31 если без транзистора включить подтягивающий резистор, то на нем будет низкий уровень при сбросе устройства, а это делать нельзя ибо "Note: This pin MUST NOT be externally pulled LOW when RESET pin is LOW or the
JTAG port will be disabled." Это ис хождения по собственным граблям. Про остальное не скажу"
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 15 2007, 11:05
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(etoja)
P0.31 -только на вывод.
Дык я знаю, что только на вывод. А разве действие "инвертировать" можно применять на вход?!? И на землю его подтягивать я не собираюсь.

Например в одной из схем я догадался повесить на этот пин светодиод, второй пин светодиода при этом подключён к питанию. Такое включение 100% надёжно и не надо тут "мутить воду". Так вот, прошу написать тут самый простой и красивый способ инверсии пина P0.31. Тот, что написал alexander55 - нерабочий! smile.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 15 2007, 11:48
Сообщение #5


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(GetSmart @ Nov 15 2007, 14:05) *
Тот, что написал alexander55 - нерабочий! smile.gif

Надеюсь, Вы не забыли добавить для инициализации
IO0DIR_bit.P0_31 = 1; //Init LED3 as output
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 15 2007, 11:53
Сообщение #6


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(alexander55)
#define Test_LED3 (IO0PIN_bit.P0_31)
Конкретно вот эта строчка нерабочая.

Просто для информации. Я знаю как инвертировать.
Мне интересно знает ли кто ещё. Особенно zltigo smile.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 15 2007, 12:06
Сообщение #7


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(GetSmart @ Nov 15 2007, 14:53) *
Конкретно вот эта строчка нерабочая.

Я работаю с LPC2148. Это работает без проблем.

Цитата(GetSmart @ Nov 15 2007, 14:53) *
Я знаю как инвертировать.
Мне интересно знает ли кто ещё. Особенно zltigo smile.gif

Я тоже знаю еще способы, но предложенный мне нравится больше всего.
Go to the top of the page
 
+Quote Post
tyro
сообщение Nov 15 2007, 12:15
Сообщение #8


Любитель Кошек
*****

Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873



Цитата(GetSmart @ Nov 15 2007, 14:53) *
Конкретно вот эта строчка нерабочая.
Просто для информации. Я знаю как инвертировать.
Мне интересно знает ли кто ещё. Особенно zltigo smile.gif

Цитата(alexander55 @ Nov 15 2007, 15:06) *
Я работаю с LPC2148. Это работает без проблем.
Я тоже знаю еще способы, но предложенный мне нравится больше всего.

Поскольку все знаем, но не хотим делиться, а хотим узнать кто еще знает... то может перенести эту тему в Offtopics ?


--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 15 2007, 12:19
Сообщение #9


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(alexander55)
Я работаю с LPC2148. Это работает без проблем.
Возможно это работает только в новых ревизиях.
Цитата
Я тоже знаю еще способы...
Можете написать? Особенно если они короче уже написанного.

Цитата(tyro)
Поскольку все знаем, но не хотим делиться, а хотим узнать кто еще знает... то может перенести эту тему в Offtopics ?
Хотим smile.gif
Щас узнаю что другие знают и напишу сам.
Буду тут выкладывать полезную информацию. Причём тут Offtopics ?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
tyro
сообщение Nov 15 2007, 12:23
Сообщение #10


Любитель Кошек
*****

Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873



Цитата(GetSmart @ Nov 15 2007, 15:19) *
Возможно это работает только в новых ревизиях.
Можете написать? Особенно если они короче уже написанного.

Хотим smile.gif
Щас узнаю что другие знают и напишу сам.
Буду тут выкладывать полезную информацию. Причём тут Offtopics ?

Поскольку в сообщениях нет намека на исходно поставленный вопрос. smile.gif
Для Offtopics добавлю: поставить за ножкой инвертор. smile.gif


--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 15 2007, 12:25
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(GetSmart @ Nov 15 2007, 13:53) *
Просто для информации. Я знаю как инвертировать.
Мне интересно знает ли кто ещё. Особенно zltigo smile.gif
Для 2214 я использую конструкцию IO0PIN ^= (1UL << 31); Не смотрел даташит на 213х, но не думаю, что там сильно что-то поменяли. Или конкретно с 0.31 есть подводный камень?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 15 2007, 12:31
Сообщение #12


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Сергей Борщ)
Или конкретно с 0.31 есть подводный камень?
Именно!

Цитата(tyro)
Для Offtopics добавлю: поставить за ножкой инвертор.
Вопрос - как программно инвертировать. (много раз)

Хотя сам способ инверсии универсальный (для любого порта и пина).


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 15 2007, 12:39
Сообщение #13


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Сергей Борщ @ Nov 15 2007, 15:25) *
Для 2214 я использую конструкцию IO0PIN ^= (1UL << 31); Не смотрел даташит на 213х, но не думаю, что там сильно что-то поменяли. Или конкретно с 0.31 есть подводный камень?

Я подумал, чтобы расставить точки на И, надо, наверное, указать компилятор. Я использую IAR 5.10.
Go to the top of the page
 
+Quote Post
abcdefg
сообщение Nov 15 2007, 13:28
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 23-01-06
Из: Msk
Пользователь №: 13 490



Да вроде как мы с вами уже обсуждали smile.gif
http://electronix.ru/forum/index.php?showtopic=32375

в моем случае - дублирую состояние в отдельной переменной.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 15 2007, 13:38
Сообщение #15


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Блин, точно! И я там был...
Но появились новые сведения. Оказывается ничего плохого в этом пине нет. И вааще, правильнее инвертировать все пины так, как я скоро напишу smile.gif Ждёмс...


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

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

 


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


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