[an error occurred while processing this directive]
Си и распиновка двунаправленных портов на микропроцессоре. (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено abivan 08 июля 2002 г. 18:37

При очередном переназначении ног на процессоре подумалось, что не гоже текст править в двух местах.
Проблема для процессоров с двунаправленными портами.
Назначаю я допустим AbcOut на порт B, так еще приходиться маску для инициализации руками формировать.
Если для Пик (HiTechC) то, выглядит так

static bit AbcOut @ PORTBIT(PORTB, 0);
#define INIT_TRISB 0xFE

Перетасовал пины - правь маску. Криво как-то.
Хотелось бы что-нибудь типа
#define PinSet(PinName,Port,Bit,Direct)
#define PIN_OUT 0

PinSet(AbcOut,PORTB,0,PIN_OUT)
или
#define BIT0 0xFE
PinSet(AbcOut,B,BIT0,PIN_OUT)


а в main
TRISB=TRISBMASK;

TRISBMASK - вот эту маску и надо сформировать препроцессором.

Думаю смысл, чего хочу, ясен.

Кто как инициализирует порты?
С уважением, Иван.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru