|
|
Подскажите пожалуйста, никак не хочет mega128 выставлять прерывание по окончании передачи TXC0. Прерывание по UDRE отрабатывает нормально.
Вектора адресов прерываний прописаны правильно.
Может дело в инициализации -
.equ uart0 = exp2(TXEN0)+exp2(RXEN0);+exp2(TXB80)
; РАЗРЕШЕНЫ: ПРИЕМ, ПЕРЕДАЧА
ldi temp, uart0 ; Инициализация UART0
out UCSR0B, temp
ldi temp, 0b00000110 ; Инициализация UART0
sts UCSR0C, temp ; асинхронный, 8 бит, 1 стоповый
; Скорость порта UART0
ldi r16, 0
sts UBRR0H, r16 ; устанавливаем скорость порта
ldi r16, 103
out UBRR0L, r16
sbi UCSR0B, RXCIE0 ; Разрешение прерывания по завершения приема
sbi UCSR0B, TXCIE0 ; Разрешение прерывания по завершении передачи
Заранее спасибо.
E-mail: info@telesys.ru