精品国产精品自拍_在线日韩中文字幕_久久综合久久99_日韩一卡二卡三卡国产欧美

您的位置:首頁 >熱訊 > 新三板 >

基于STM32H5的UART通信的演示過程

最近可能不少人手上弄到了ST發布的的基于M33內核的H5系列Nucleo開發板,這里也用該開發板體驗下UART通信,做些驗證與確認。【提醒,下面測試過程中沒有開啟TrustZone功能】


(資料圖)

有人在使用過程中,根據開發板手冊描述,芯片的UART3默認與STLINK的VCP口相連,測試中感覺好像又不是。這里不妨一起驗證下。根據該開放板使用手冊描述,UART3[PD8/PD9]默認是與STLINK VCP的接口

基于上面硬件條件,使用CubeMx簡單配置即可驗證。

創建工程后,在用戶代碼里調用HAL_UART_Transmit(&huart3, (uint8_t *)tx1_buffer, Size, TimeOut)函數,在串口輸出終端即可看到結果。看來一切正常。

說明UART3的TX/RX腳【PD8/PD9】的確如手冊所言,默認與VCP接口相連。

上面是基于查詢方式做了UART的發送,如果采用DMA方式呢?我們也可以順便體驗下。

我這里使用GPDMA1的CH0和CH1,分別實現UART3的接收與發送。UART3的DMA接收采用Circular模式,外設到內存的傳輸方向;發送采用Normal模式,內存到外設的傳輸方向。源端與目的端訪問數據寬度均為Byte。DMA請求使用標準請求模式。

創建基于STM32HAL庫的工程,添加、整理用戶代碼。

#deifneRX_SIZE(16)#defineTX_SIZE(33)ALIGN_32BYTES(uint8_ttx1_buffer[])="**STM32H5UARTTestwithPolling**";ALIGN_32BYTES(uint8_ttx_buffer[])="**STM32H5UARTTestwithDMA**";ALIGN_32BYTES (uint8_t rx_buffer[16]);  __HAL_LINKDMA(&huart3, hdmarx , handle_GPDMA1_Channel0);  __HAL_LINKDMA(&huart3, hdmatx, handle_GPDMA1_Channel1);HAL_UART_Receive_DMA(&huart3,rx_buffer,RX_SIZE);//ForRX。。。。。  /* USER CODE BEGIN WHILE */while (1)  {HAL_Delay(2023);HAL_UART_Transmit_DMA(&huart3,(uint8_t*)tx_buffer,TX_SIZE);//HAL_UART_Transmit(&huart3,(uint8_t*)tx1_buffer,37,0xfff);huart3.gState=HAL_UART_STATE_READY;  }

稍加調試后運行程序看結果。下面左側窗口為UART3通過DMA發送出來的信息,右側為串口助手發送后UART3通過DMA接收到的信息。

好,基于STM32H5的UART通信的演示就到這里。內容不難,主要是做了些驗證。這些驗證過程及結果的確也能為初次接觸該板或該MCU系列的人在遇到相關問題時予以信心,在調試受阻時能盡快地鎖定問題方向。畢竟做開發調試時,信心和問題方向都是非常重要的因素。

審核編輯:劉清

關鍵詞:

主站蜘蛛池模板: 日韩av免费一区| 国产精品久久久久久久久电影网| 久久久久久久久久福利| 国产精品入口福利| 国产成人精品av在线| 国产精品91在线观看| 久久99国产综合精品女同| 欧美一区二区视频97| 人人妻人人澡人人爽精品欧美一区| 国产精品999999| 成人国产精品久久久久久亚洲| 国产日韩在线视频| 国内揄拍国内精品| 水蜜桃亚洲精品| 日韩中文在线中文网三级| 一区二区三区四区久久| 久久精品视频在线观看| 7777在线视频| 国产成人av在线播放| 丁香六月激情网| av中文字幕av| 亚洲一区二区三区免费观看| 国产精品流白浆视频| 久久另类ts人妖一区二区| 欧美有码在线观看视频| 欧美日韩成人精品| 精品国偷自产在线视频| 国产精品中文字幕久久久| 国产精品美女主播| 国产h视频在线播放| 亚洲不卡中文字幕无码| 日韩五码在线观看| 久久躁狠狠躁夜夜爽| 国产免费一区| 国产精品美女久久久久av福利| 久久黄色av网站| 国产精品黄色av| 日韩视频免费在线| 久久精品最新地址| 国产精品免费久久久久影院| 无码日韩人妻精品久久蜜桃V|