Статус:
Offline
Реєстрація: 05.12.2007
Повідом.: 5889
Реєстрація: 05.12.2007
Повідом.: 5889
- 🔴 19:05 Повітряна тривога в Харків.обл.
- #1
Вопрос по CodeVision
Сижу дефайню себе лапки портов человеческими именами:
#define SIM_PWRK PORTB.4 //например так
Все хорошо до порта G (кристалл - MEGA1280), там с побитным доступом все нормально, потом вместо
sfrb PORTG=0x14;
используется объявление типа:
#define PINH (*(unsigned char *) 0x100);
Оно то правильно, ибо начиная с адреса 1Fh побитный доступ невозможен. Вопрос знатокам: как можно попроще обратиться к одной лапе портов лежащих по адресу выше 1Fh. В прошлый раз пришлось городить отакой бойан:
void set_res(void){
#asm
push r16
lds r16,$0063
sbr r16,0b00000100
sts $0065,r16
pop r16
#endasm
}
А хочется как то поизящнее.
P.S. Не кидайтесь какашками
Сижу дефайню себе лапки портов человеческими именами:
#define SIM_PWRK PORTB.4 //например так
Все хорошо до порта G (кристалл - MEGA1280), там с побитным доступом все нормально, потом вместо
sfrb PORTG=0x14;
используется объявление типа:
#define PINH (*(unsigned char *) 0x100);
Оно то правильно, ибо начиная с адреса 1Fh побитный доступ невозможен. Вопрос знатокам: как можно попроще обратиться к одной лапе портов лежащих по адресу выше 1Fh. В прошлый раз пришлось городить отакой бойан:
void set_res(void){
#asm
push r16
lds r16,$0063
sbr r16,0b00000100
sts $0065,r16
pop r16
#endasm
}
А хочется как то поизящнее.
P.S. Не кидайтесь какашками