HAL_ChibiOS: fixed UART DMA issue on F4

disabling in rx irq callback should only be done on F3
This commit is contained in:
Andrew Tridgell 2020-01-17 16:58:48 +11:00
parent 2d02062bfc
commit a935b764f4

View File

@ -445,12 +445,12 @@ void UARTDriver::rx_irq_cb(void* self)
if (!uart_drv->rx_dma_enabled) {
return;
}
dmaStreamDisable(uart_drv->rxdma);
#if defined(STM32F7) || defined(STM32H7)
//disable dma, triggering DMA transfer complete interrupt
uart_drv->rxdma->stream->CR &= ~STM32_DMA_CR_EN;
#elif defined(STM32F3)
//disable dma, triggering DMA transfer complete interrupt
dmaStreamDisable(uart_drv->rxdma);
uart_drv->rxdma->channel->CCR &= ~STM32_DMA_CR_EN;
#else
volatile uint16_t sr = ((SerialDriver*)(uart_drv->sdef.serial))->usart->SR;