Цитата(torik @ Jun 22 2009, 16:47)

Всем привет. Что-то я затупил...
Компилятору в хидере сказано, что:
Код
volatile near unsigned char PORTB @ 0xF81;
, и он огорчается на несоответствие типов.
Цитата
Смотрю на симуляторе. Вместо адреса порта 0x0f81 видим адрес 0x0081, т.е. потеряли старший байт.
Обзовите VS правильно, и все получится.
Цитата
Как устранить и как вообще передать в функцию в качестве параметра ссылку, указатель на порт?
как обычно
Код
void foo(volatile near unsigned char *);
typedef struct {
volatile near unsigned char *VS;
} fz_hard;
fz_hard fz;
fz.VS = &PORTB;
foo(fz.VS);