Технический форум по робототехнике.
Robot » 26 янв 2009, 18:25
Начал писать маленькую прогу на ASM и вот он выдал мне ошибку на отрезке:
- Код: Выделить всё • Развернуть
init_usart:
cli ;
ldi temp, 0 ;
out UCSR0A, temp ;
ldi temp, 0x01 ;
out UCSR0B, temp ;
ldi temp, 0x04 ;
out UCSR0C, temp ; <<<=== В этой строке ошибка!!!
ldi temp, 0x33 ;
out UBRR0L, temp ;
sei
Говорит типа, что: "D:\Program Files\Atmel\AVR Tools\AvrStudio4\proba\proba.asm(78) : error : Illegal argument type or count"
Последний раз редактировалось
EdGull 26 янв 2009, 19:07, всего редактировалось 1 раз.
Причина: не забываем тэг Code!!!
avr123.nm.ru » 26 янв 2009, 18:28
UCSR0C наверно нет в .inc файле.
Duhas » 26 янв 2009, 20:11
весь код в студию...
Victorovych » 27 янв 2009, 14:06
Здается мне, нужно написать
- Код: Выделить всё • Развернуть
sts UCSR0C, temp
Duhas » 28 янв 2009, 11:12
хм, а он что может быть памятью а не IO ?!
Victorovych » 28 янв 2009, 11:37
все IO лежат в памяти, только по разным адресам, out может обращаться к диапазону 0-63, все что свыше - sts
Duhas » 28 янв 2009, 11:45
нет ну ет понятна.. прост тогда получается что атымелы не учли...
avr123.nm.ru » 28 янв 2009, 11:48
Victorovych писал(а):все IO лежат в памяти, только по разным адресам, out может обращаться к диапазону 0-63, все что свыше - sts
Список регистров в конце даташита.
Victorovych » 28 янв 2009, 11:50
в документации все написано, нужно смотреть внимательно, сам накалывался
Robot » 28 янв 2009, 21:16
Спасиб за подсказку про sts ,всё заработало сразу, теперь буду в даташит внимательней смотреть!!!