ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
117646 Топик полностью
blackbit (08.04.2008 09:23, просмотров: 138) ответил vul на Как непосредственно обратиться к регистру в IAR AVR?
..отчего же __regvar не заработал? Всегда работал, а тут на тебе.. 1. Указываем компилятору лочить часть регистров, к примеру 6, прописывая ключ: --lock_regs 6 Если в среде сидите, то вписывайте его там: Option -> C/C++ Compiler -> Extra Options -> Use command line options 2. В коде пользуем примерно так: #ifdef _1W_CONTROL_CODE_USELOCKREGISTERS __regvar __no_init static union { unsigned char state; struct { unsigned char opmarker:4; unsigned char strob_start:1; unsigned char pulse_reset:1; unsigned char pulse_reset_ok:1; unsigned char error:1; }; } _1w_channel_state @ 14; __regvar __no_init static unsigned char _1w_StrobeCount @ 13; __regvar __no_init static unsigned char _1w_CountBits @ 12; __regvar __no_init static unsigned char __tiny * _1w_PtrBuf @ 11; __regvar __no_init static unsigned char __tiny * _1w_PtrBufEnd @ 10; #endif 3. Если соответств. библиотеки не пользуете, то можно обойтись без их перекомпиляции. Помниться, мне не понадобились.