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