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

 
 
 
Reply to this topicStart new topic
> Работа с GPIO в LPC3250, Перенос Си кода с нормальных контроллеров на LPC3250
kolobochishe
сообщение Mar 10 2011, 12:37
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



Здравствуйте

Есть небольшая проблема. У контроллера LPC3250 нули и единицы на GPIO устанавливаются, на мой неопытный взгляд, достаточно необычно.

для установки "0" на выводе GPO_00 надо сделать такую запись
Код
P3_OUTP_CLR_bit.GPO_00 = 1;


для установки "1" на выводе GPO_00 надо сделать такую запись
Код
P3_OUTP_SET_bit.GPO_00 = 1;


Вопрос: Как правильно сделать #define чтобы старый код работал?
и корректно ли будет так ->
Код
#define LCD_En = 1   P3_OUTP_SET_bit.GPI_00;
#define LCD_En = 0   P3_OUTP_CLR_bit.GPI_00;


Раньше для LPC2478 было просто
Код
#define LCD_En     FIO4PIN_bit.GPO_03;


И еще. Как быть если в коде было не

Порт_bit.Вывод = 1;

а например

Порт_bit.Вывод = Переменная;

Получается что надо if ставить?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Mar 10 2011, 12:57
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Я так думаю речь идет об исправлении кода всего в десятке мест которое можно сделать минут за 10-ть.

Я всегда переписываю сорсы которые не соответствуют архитектуре нового проца.
Вот чего точно не надо жалеть переписать так это те макросы претендующие на абстракцию от железа.
Любая абстракция это просто обобщение скудного опыта.

Т.е. правильным вопросом было бы узнать какими средствами удобнее провести рефакторинг (в данном случае групповое удаление или редактирование этих макросов).

Go to the top of the page
 
+Quote Post
kolobochishe
сообщение Mar 10 2011, 13:11
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



Цитата(AlexandrY @ Mar 10 2011, 17:57) *
Я так думаю речь идет об исправлении кода всего в десятке мест которое можно сделать минут за 10-ть.


В общем то да. Но все же хотелось бы узнать каким способом можно сделать перенос кода, без его редактирования. Потому что сейчас это 2 страницы. А завтра 10.

Go to the top of the page
 
+Quote Post
esaulenka
сообщение Mar 23 2011, 15:31
Сообщение #4


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

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Я позанудствую, но чтобы завтра не стало 10 страниц, надо уже сегодня переписать
LCD_En=1 и LCD_En = 0
на
LCD_Enable() и LCD_Disable()


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post

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

 


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


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