Use TC instead of TXE
Transfer Complete is preferable to TX Empty when using a DMA since we could be polling the bit between transfers. TXE would be 1 but the DMA would be transfering another at the same time. TC takes the DMA into account
This commit is contained in:
parent
dbfba20520
commit
0628c4c07c
@ -107,7 +107,7 @@ uint32_t usart_write_byte(enum UsartPeriph periph, uint8_t byte)
|
||||
|
||||
if (buffer->buffers) {
|
||||
//if the tx register is empty, there is no need to go through the dma
|
||||
if (regs->SR.TXE) {
|
||||
if (regs->SR.TC) {
|
||||
reg_write(regs->DR, USART_DR_DR, byte);
|
||||
//enable IRQ, disable DMA
|
||||
reg_reset(regs->CR3, USART_CR3_DMAT);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user