mirror of
https://github.com/No-Chicken/Power-Pico.git
synced 2026-04-03 13:02:36 +08:00
add uart_tx dma
This commit is contained in:
@@ -29,6 +29,7 @@ uint8_t uart_receive_str[USART_RX_BUFFER_SIZE + 1];
|
|||||||
|
|
||||||
UART_HandleTypeDef huart6;
|
UART_HandleTypeDef huart6;
|
||||||
DMA_HandleTypeDef hdma_usart6_rx;
|
DMA_HandleTypeDef hdma_usart6_rx;
|
||||||
|
DMA_HandleTypeDef hdma_usart6_tx;
|
||||||
|
|
||||||
/* USART6 init function */
|
/* USART6 init function */
|
||||||
|
|
||||||
@@ -103,6 +104,24 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
|||||||
|
|
||||||
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart6_rx);
|
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart6_rx);
|
||||||
|
|
||||||
|
/* USART6_TX Init */
|
||||||
|
hdma_usart6_tx.Instance = DMA2_Stream6;
|
||||||
|
hdma_usart6_tx.Init.Channel = DMA_CHANNEL_5;
|
||||||
|
hdma_usart6_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
|
||||||
|
hdma_usart6_tx.Init.PeriphInc = DMA_PINC_DISABLE;
|
||||||
|
hdma_usart6_tx.Init.MemInc = DMA_MINC_ENABLE;
|
||||||
|
hdma_usart6_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
|
||||||
|
hdma_usart6_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
|
||||||
|
hdma_usart6_tx.Init.Mode = DMA_NORMAL;
|
||||||
|
hdma_usart6_tx.Init.Priority = DMA_PRIORITY_LOW;
|
||||||
|
hdma_usart6_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
|
||||||
|
if (HAL_DMA_Init(&hdma_usart6_tx) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
|
||||||
|
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart6_tx);
|
||||||
|
|
||||||
/* USART6 interrupt Init */
|
/* USART6 interrupt Init */
|
||||||
HAL_NVIC_SetPriority(USART6_IRQn, 5, 0);
|
HAL_NVIC_SetPriority(USART6_IRQn, 5, 0);
|
||||||
HAL_NVIC_EnableIRQ(USART6_IRQn);
|
HAL_NVIC_EnableIRQ(USART6_IRQn);
|
||||||
@@ -131,6 +150,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
|
|||||||
|
|
||||||
/* USART6 DMA DeInit */
|
/* USART6 DMA DeInit */
|
||||||
HAL_DMA_DeInit(uartHandle->hdmarx);
|
HAL_DMA_DeInit(uartHandle->hdmarx);
|
||||||
|
HAL_DMA_DeInit(uartHandle->hdmatx);
|
||||||
|
|
||||||
/* USART6 interrupt Deinit */
|
/* USART6 interrupt Deinit */
|
||||||
HAL_NVIC_DisableIRQ(USART6_IRQn);
|
HAL_NVIC_DisableIRQ(USART6_IRQn);
|
||||||
|
|||||||
Reference in New Issue
Block a user