Статус:
Offline
Реєстрація: 05.12.2007
Повідом.: 5884
Реєстрація: 05.12.2007
Повідом.: 5884
- 🟢 01:26 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
- #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. Не кидайтесь какашками
