| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > (xxx) Illegal argument, type or count, ATMEL AVR |
| Автор: Alex 27.12.2004, 03:23 |
| (xxx) Illegal argument, type or count Подобные ошибки возникают при несогласованности операндов в команде. Если Вы используете контроллер mega128 или любой другой, в котором есть регистры ввода-вывода с адресами более, чем $3F($5F), то для доступа к ним использовать комманды Out, In уже нельзя, т.е. строка: In Acc,TWCR; TWCR=($74) вызовет ошибку. Решение проблемы: LDS Acc,TWCR; Кстати, в комманде Out(In) используется адрес, который на $20(количество регистров общего назначения) меньше, чем реальное расположение регистра ввода-вывода в памяти, поэтому при работе с регистрами ввода-вывода как с ячейками памяти нужно не забыть прибавить $20: Out SREG,Acc; Но: STD SREG+$20,Acc; Ошибка исчезла? >> ДА, cпасибо >> НЕТ << Назад |