1. CubeMX配置——UART
2. CubeMX配置——DMA
3. CubeMX配置——设置LL库
4. CubeMX配置——设置中断
不启动UART中断
5. 添加自定义代码
在usart.c程序中添加代码,注意字段位置
- /* USER CODE BEGIN 0 */
- uint8_t uart_tx_data[100];
- uint8_t uart_rx_data[100];
- uint8_t uart_tx_len;
- /* USER CODE END 0 */
复制代码- /* USER CODE BEGIN USART1_Init 1 */
-
- LL_DMA_SetMemoryAddress(DMA2, LL_DMA_STREAM_7, (uint32_t)uart_tx_data);
- LL_DMA_SetPeriphAddress(DMA2, LL_DMA_STREAM_7, (uint32_t)(&USART1->DR));
- LL_DMA_SetDataLength(DMA2, LL_DMA_STREAM_7, 7);
- LL_DMA_EnableStream(DMA2, LL_DMA_STREAM_7);
-
- LL_DMA_EnableIT_TC(DMA2, LL_DMA_STREAM_7);
- LL_DMA_EnableIT_TE(DMA2, LL_DMA_STREAM_7);
-
- LL_USART_EnableDMAReq_TX(USART1);
-
- /* USER CODE END USART1_Init 1 */
复制代码
在中断程序stm32f4xx_it.c添加代码,清除指定标志位
- void DMA2_Stream7_IRQHandler(void)
- {
- /* USER CODE BEGIN DMA2_Stream7_IRQn 0 */
- if(LL_DMA_IsActiveFlag_TC7(DMA2))
- {
- LL_DMA_ClearFlag_TC7(DMA2);
- }
-
- if (LL_DMA_IsActiveFlag_TE7(DMA2))
- {
- LL_DMA_ClearFlag_TE7(DMA2);
- }
- /* USER CODE END DMA2_Stream7_IRQn 0 */
-
- /* USER CODE BEGIN DMA2_Stream7_IRQn 1 */
-
- /* USER CODE END DMA2_Stream7_IRQn 1 */
- }
复制代码
在主程序main.c添加代码,注意字段位置
- /* USER CODE BEGIN 0 */
- uint8_t Uart1_DATA[] = "12345\r\n";
- extern uint8_t uart_tx_data[100];
- extern uint8_t uart_rx_data[100];
- extern uint8_t uart_tx_len;
- /* USER CODE END 0 */
复制代码- /* USER CODE END 2 */
-
- /* Infinite loop */
- /* USER CODE BEGIN WHILE */
- LL_DMA_ClearFlag_TC7(DMA2);//
-
- memcpy(uart_tx_data, Uart1_DATA, 7);
-
- LL_DMA_DisableStream(DMA2, LL_DMA_STREAM_7);//
- LL_DMA_SetMemoryAddress(DMA2, LL_DMA_STREAM_7, (uint32_t)uart_tx_data);//
- LL_DMA_SetDataLength(DMA2, LL_DMA_STREAM_7, 7);//
- LL_DMA_EnableStream(DMA2, LL_DMA_STREAM_7);//
-
- while (1)
- {
- //HAL_UART_Transmit_DMA(&huart1,Uart1_DATA,7);
- //HAL_UART_Transmit(&huart1,Uart1_DATA,7,100);
- LL_DMA_EnableStream(DMA2, LL_DMA_STREAM_7); //å¯åЍDMAä¼ è¾“
- HAL_Delay(1000);
- //__HAL_UART_RESET_HANDLE_STATE(&huart1);
- /* USER CODE END WHILE */
-
- /* USER CODE BEGIN 3 */
- }
- /* USER CODE END 3 */
复制代码
6. 串口接收到数据
————————————————
版权声明:xyang18
|