Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
может хочешь типа такого (это для AVR в WinAVR)
<c>
typedef volatile uint8_t port_t;
typedef struct{
port_t * port;
unsigned char bit;
}out_t;
#define out0 {&PORTA,1}
#define out1 {&PORTB,2}
#define out2 {&PORTC,3}
out_t out[3] ={out0,out1,out2};
out_t out4;
void foo(void){
out_t Out0 = out2;
out[0]= Out0;
out4.port = &PORTD;
out4.bit = 1;
out[1]=out4;
}
</c>
правда тип port_t зависит от компилера и такого рода конструкции вообще могут не сработать. у IAR, например, порты объявляются через расширения языка.
Составить ответ | Вернуться на конференцию
Ответы