Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с GPIO в LPC3250
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
kolobochishe
Здравствуйте

Есть небольшая проблема. У контроллера 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 ставить?
AlexandrY
Я так думаю речь идет об исправлении кода всего в десятке мест которое можно сделать минут за 10-ть.

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

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

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


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

esaulenka
Я позанудствую, но чтобы завтра не стало 10 страниц, надо уже сегодня переписать
LCD_En=1 и LCD_En = 0
на
LCD_Enable() и LCD_Disable()
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.