Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
Хотя ошибка возникает когда практически ничего не делаю. Настраиваю UART, разрешаю прерывания на прием - передачу. Убрал из проги всё, только и осталось:
.cseg
.org 0
;INTERRUPT VECTORS
rjmp init
RJMP 0x00
RJMP 0x00
RJMP 0x00
RJMP 0x00
RJMP 0x00
RJMP 0x00
RJMP 0x00
RJMP 0x00
RJMP 0x00
RJMP 0x00
RJMP _usart_rx_isr
RJMP 0x00
RJMP _usart_tx_isr
RJMP 0x00
RJMP 0x00
RJMP 0x00
RJMP 0x00
RJMP 0x00_usart_rx_isr:
_usart_tx_isr:
ldi R16, 101
OUT UDR, R16
RETI
init:
WDT_off:
WDR
in r16, WDTCR
ori r16, (1<out WDTCR, r16
ldi r16, (0<out WDTCR, r16 ldi r16,high(RAMEND)
out SPH,r16
ldi r16,low(RAMEND)
out SPL,r16;USART initialization. Baud rate: 9600
LDI R30,0x00
OUT UCSRA,R30 ; UCSRA=0x00;
LDI R30,0xD8 ; UCSRB=0xD8;
OUT UCSRB,R30
; LDI R30,0x86 ; UCSRC=0x86; - нет в модели AVR
; OUT UCSRC,R30
LDI R30,0x00 ; UBRRH=0x00;
OUT UBRRH,R30
LDI R30,0x0C ; UBRRL=0x0C;
OUT UBRRL,R30sei
; OUT UDR, 101
loop: jmp loop ; <- три ошибки прерывания в эмуляторе
на одну выполенную команду тут.