ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
166757 Топик полностью
rezident (16.09.2009 20:37, просмотров: 147) ответил rezident на А что получается, если квалификатор volatile в определении переменной in_byte убрать?
А пардон! У вас же переменная типа short (2 байта), а читаете вы значение из 8-ми битного порта. Так что компилятор в своем праве: сначала читает значение 8-ми битной переменной в 16-ти разрядный регистр, а потом значение 16-ти разрядного регистра в 16-и разрядную переменную переписывает. Сделайте 8-ми битную переменную и компилятор поступит адекватно, скомпилировав чтение в одну команду MOV.B &P8IN, &in_byte