tx interruption fixes
This commit is contained in:
parent
69e8412315
commit
e999651e09
@ -23,6 +23,7 @@ void UART_send(uint8_t* data, size_t length) {
|
|||||||
break; // если буфер передачи заполнен, то отправка прерывается
|
break; // если буфер передачи заполнен, то отправка прерывается
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
UCSR0B |= (1 << TXCIE0); // включаем прерывание по завершении передачи
|
||||||
}
|
}
|
||||||
|
|
||||||
// Получение данных из буфера
|
// Получение данных из буфера
|
||||||
@ -54,5 +55,7 @@ ISR(USART_RX_vect) {
|
|||||||
ISR(USART_TX_vect) {
|
ISR(USART_TX_vect) {
|
||||||
if (!buffer_empty(&uartTxBuffer)) {
|
if (!buffer_empty(&uartTxBuffer)) {
|
||||||
UDR0 = read_buffer(&uartTxBuffer);
|
UDR0 = read_buffer(&uartTxBuffer);
|
||||||
|
} else {
|
||||||
|
UCSR0B &= ~(1 << TXCIE0); // отключаем прерывание, когда все данные отправлены
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user