Цитата(KIG @ Jan 11 2009, 21:46)

Согласно описания МК регистры имеют следующие адреса:
.equ UBRR0L = 0xc4 ; MEMORY MAPPED
.equ UBRR0H = 0xc5 ;
И правда, не глянул какая мега...
Цитата(KIG @ Jan 11 2009, 21:46)

На языке СИ задаю сначала младший регистр, а затем старший и все работает нормально.
Если на Си у вас работает, загляните в листинг. Вот, например, как CAVR генерит начальный код инициализации USART0:
На Cи:
Код
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: On
// USART0 Transmitter: On
// USART0 Mode: Asynchronous
// USART0 Baud Rate: 19200
UCSR0A=0x00;
UCSR0B=0x18;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x17;
На асме:
Код
;0000 007F // USART0 initialization
;0000 0080 // Communication Parameters: 8 Data, 1 Stop, No Parity
;0000 0081 // USART0 Receiver: On
;0000 0082 // USART0 Transmitter: On
;0000 0083 // USART0 Mode: Asynchronous
;0000 0084 // USART0 Baud Rate: 19200
;0000 0085 UCSR0A=0x00;
STS 192,R30
;0000 0086 UCSR0B=0x18;
LDI R30,LOW(24)
STS 193,R30
;0000 0087 UCSR0C=0x06;
LDI R30,LOW(6)
STS 194,R30
;0000 0088 UBRR0H=0x00;
LDI R30,LOW(0)
STS 197,R30
;0000 0089 UBRR0L=0x17;
LDI R30,LOW(23)
STS 196,R30
Сообщение отредактировал Goodefine - Jan 11 2009, 19:45
Любой, заслуживающий внимания, опыт приобретается себе в убыток...