一,代碼生成
按以前的方法設置好時鐘和調試方式,這里就不多說了。
2.設置串口1。
3.在DMA Setting里點擊Add添加USART1_TX,Mode有兩種模式,一種是普通模式,使用一次發送語句就發一次,另一種是循環模式,使用一次發送會一直發送。這里發送我選擇普通模式,接收選擇循環模式。
4.在中斷設置里打開串口1的中斷。
5.時鐘和文件路徑等設置好,然后點生成代碼。
二,代碼編寫
1.先定義發送和接收的數組。
/* USER CODE BEGIN 0 */uint8_t aRxBuffer[1];uint8_t aTxBuffer[]="ok";/* USER CODE END 0 */
2.打開串口DMA的發送使能,while循環可以放一些LED的閃爍。
/* USER CODE BEGIN 2 */ HAL_UART_Receive_DMA(&huart1,aRxBuffer,1); HAL_UART_Transmit_DMA(&huart1,aTxBuffer,sizeof(aTxBuffer)); /* USER CODE END 2 */
3.最后加上一個串口接收函數的回調函數,把接收到的數據再發出去。
/* USER CODE BEGIN 4 */void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle){ HAL_UART_Transmit(&huart1,aRxBuffer,1,0);}/* USER CODE END 4 */
三,現象:
電腦的串口會收到“OK”,然后從電腦發送給芯片任意字符,芯片再發回來。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
STM32
+關注
關注
2266文章
10876瀏覽量
354930 -
串口
+關注
關注
14文章
1547瀏覽量
76231 -
dma
+關注
關注
3文章
559瀏覽量
100446
發布評論請先 登錄
相關推薦
STM32CUBEMX開發GD32F303(9)----USART通過DMA收發
概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發,同時通過GD32303C_START開發板內進行驗證。 本章主要配置串口進行DMA
STM32CubeMX串口中斷模式收發數據
概述上一篇 說了 STM32CubeMX之串口的使用 (阻塞模式) ,這一章來說說串口中斷模式收發數據。文章目錄概述一. 在
發表于 08-13 08:34
使用STM32CubeMX實現中斷模式下的串口收發
cube是ARM發布的針對于STM32的一個底層初始化的軟件,使用STM32CubeMX實現中斷模式下的串口收發
發表于 02-25 14:12
?2次下載
STM32CUBEMX配置教程(十二)STM32的定時器觸發的固定頻率ADC采樣(使用DMA)
STM32CUBEMX配置教程(十二)STM32的定時器觸發的固定頻率ADC采樣(使用DMA)
發表于 11-24 13:51
?85次下載
STM32CUBEMX配置教程(十三)STM32的定時器觸發的固定頻率DAC輸出(使用DMA)
STM32CUBEMX配置教程(十三)STM32的定時器觸發的固定頻率DAC輸出(使用DMA)
發表于 11-24 14:06
?46次下載
STM32CubeMX HAL庫串口+DMA+IDLE空閑中斷不定長度數據接收和發送
Cube_FW_F1_V1.8.0(STM32Cube MCU Package for STM32F1xx Series)本文內容:不定長數據接收的原理IDLE空閑中斷介紹串口接收ID
發表于 12-07 11:36
?24次下載
STM32 HAL CubeMX 串口IDLE接收空閑中斷+DMA
關于DMA原理部分講解,及CubeMx配置部分,請參考該文章【STM32】HAL庫 STM32CubeMX教程十一—DMA (
發表于 12-20 19:39
?31次下載
基于STM32CubeMX——HAL庫開發的串口通訊(DMA模式)
STM32CubeMX——串口STM32CubeMX配置相關函數重新配置printf與scanf配置代碼STM32CubeMX配置首先打開STM32
發表于 12-24 18:48
?13次下載
評論