Не могу считать значение порта AVR PINx? Не получается и все, все перепробовал все способы и Hi-Z. Тестирую в протеус. Вот простейший код: start: ldi r16, pinb rjmp start В протеусе в регистре r16 значение всегда 16hex. Если читать другие порты то значения немного отличаются от порта В. Даже если на выводы подавать напряжение 5 Вольт все равно тоже самое значение 16hex.
Вероятно, проблема может быть связана с неправильным использованием команды “ldi”. Для чтения значения порта в AVR микроконтроллерах используется команда “in” или “inp”.
Попробуйте изменить ваш код на следующий образ:
start: in r16, PINB rjmp start
Этот код должен корректно считывать значение порта PINB и сохранять его в регистре r16.
Если проблема все еще остается, то возможно дело в настройках симулятора или модели микроконтроллера в протеусе. Попробуйте проверить настройки и убедитесь, что они корректно сконфигурированы для работы с портами ввода-вывода.
Вероятно, проблема может быть связана с неправильным использованием команды “ldi”. Для чтения значения порта в AVR микроконтроллерах используется команда “in” или “inp”.
Попробуйте изменить ваш код на следующий образ:
start:in r16, PINB
rjmp start
Этот код должен корректно считывать значение порта PINB и сохранять его в регистре r16.
Если проблема все еще остается, то возможно дело в настройках симулятора или модели микроконтроллера в протеусе. Попробуйте проверить настройки и убедитесь, что они корректно сконфигурированы для работы с портами ввода-вывода.