ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
30 июня
241251 Топик полностью
mazur (01.03.2011 21:29, просмотров: 297) ответил mazur на Есть битовое поле. Скажем, 24 бита, то есть, 3 байта. И нужно проверить определенный бит. Когда писал проверочный код, это получилось 24 функции, которые отличались только номерами битов. Попытался возложить эту функцию микроконтроллеру.
Спасибо всем!!! Что не сочли за труд, нашли время, ткнули носом, подсказали, дали идей. Я получил даже больше, чем просил. Mbedder-у - за макрос. ReAl-у - за сэкономленное время, которое я бы потратил на разборки со Шреком. Хитрому китайцу - за приземление. Leon-у - за макросы. Конечная цель: Table_Inputs_Equal: lpm r16,Z ; mov r0,ZL ; mov r1,ZH mov CNT,r16 andi CNT,7 lsr r16 lsr r16 lsr r16 ldix INPUTS_FLAGS addw X,r16,RCLR ld r16,X ldiz (Table_Bits*2) addw Z,CNT,RCLR lpm r17,Z and r16,r17 in RSREG,SREG ld r16,X eor r16,r17 st X,r16 out SREG,RSREG brne Input_Pressed nop Process_Inputs_Change_End: ret Input_Pressed: ret