0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用STM32CubeMx的串口DMA收發(fā)數(shù)據(jù)

撞上電子 ? 2023-12-12 08:00 ? 次閱讀

一,代碼生成

按以前的方法設(shè)置好時(shí)鐘和調(diào)試方式,這里就不多說(shuō)了。

831169fc-9881-11ee-9788-92fbcf53809c.png831ec9ee-9881-11ee-9788-92fbcf53809c.png

2.設(shè)置串口1。

833637be-9881-11ee-9788-92fbcf53809c.png

3.在DMA Setting里點(diǎn)擊Add添加USART1_TX,Mode有兩種模式,一種是普通模式,使用一次發(fā)送語(yǔ)句就發(fā)一次,另一種是循環(huán)模式,使用一次發(fā)送會(huì)一直發(fā)送。這里發(fā)送我選擇普通模式,接收選擇循環(huán)模式。

8346e974-9881-11ee-9788-92fbcf53809c.png

4.在中斷設(shè)置里打開串口1的中斷。

8357a3cc-9881-11ee-9788-92fbcf53809c.png

5.時(shí)鐘和文件路徑等設(shè)置好,然后點(diǎn)生成代碼。

83691f4e-9881-11ee-9788-92fbcf53809c.png

二,代碼編寫

1.先定義發(fā)送和接收的數(shù)組。

/* USER CODE BEGIN 0 */uint8_t aRxBuffer[1];uint8_t aTxBuffer[]="ok";/* USER CODE END 0 */

2.打開串口DMA的發(fā)送使能,while循環(huán)可以放一些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.最后加上一個(gè)串口接收函數(shù)的回調(diào)函數(shù),把接收到的數(shù)據(jù)再發(fā)出去。

/* USER CODE BEGIN 4 */void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle){ HAL_UART_Transmit(&huart1,aRxBuffer,1,0);}/* USER CODE END 4 */

三,現(xiàn)象:

電腦的串口會(huì)收到“OK”,然后從電腦發(fā)送給芯片任意字符,芯片再發(fā)回來(lái)。

83813188-9881-11ee-9788-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2257

    文章

    10828

    瀏覽量

    352432
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1533

    瀏覽量

    75451
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    552

    瀏覽量

    99926
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32CUBEMX開發(fā)GD32F303(9)----USART通過(guò)DMA收發(fā)

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中進(jìn)行開發(fā),同時(shí)通過(guò)GD32303C_START開發(fā)板內(nèi)進(jìn)行驗(yàn)證。 本章主要配置串口進(jìn)行DMA
    的頭像 發(fā)表于 11-29 11:15 ?1894次閱讀
    <b class='flag-5'>STM32CUBEMX</b>開發(fā)GD32F303(9)----USART通過(guò)<b class='flag-5'>DMA</b><b class='flag-5'>收發(fā)</b>

    STM32CubeMX串口中斷模式收發(fā)數(shù)據(jù)

    概述上一篇 說(shuō)了 STM32CubeMX串口的使用 (阻塞模式) ,這一章來(lái)說(shuō)說(shuō)串口中斷模式收發(fā)數(shù)據(jù)。文章目錄概述一. 在
    發(fā)表于 08-13 08:34

    使用STM32CubeMX實(shí)現(xiàn)中斷模式下的串口收發(fā)

    cube是ARM發(fā)布的針對(duì)于STM32的一個(gè)底層初始化的軟件,使用STM32CubeMX實(shí)現(xiàn)中斷模式下的串口收發(fā)
    發(fā)表于 02-25 14:12 ?2次下載

    STM32cubeMX串口使用教程免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32cubeMX串口使用教程免費(fèi)下載。
    發(fā)表于 12-03 11:31 ?27次下載
    <b class='flag-5'>STM32cubeMX</b>的<b class='flag-5'>串口</b>使用教程免費(fèi)下載

    STM32CUBEMX配置教程(十二)STM32的定時(shí)器觸發(fā)的固定頻率ADC采樣(使用DMA

    STM32CUBEMX配置教程(十二)STM32的定時(shí)器觸發(fā)的固定頻率ADC采樣(使用DMA
    發(fā)表于 11-24 13:51 ?84次下載
    <b class='flag-5'>STM32CUBEMX</b>配置教程(十二)<b class='flag-5'>STM32</b>的定時(shí)器觸發(fā)的固定頻率ADC采樣(使用<b class='flag-5'>DMA</b>)

    STM32CUBEMX配置教程(十三)STM32的定時(shí)器觸發(fā)的固定頻率DAC輸出(使用DMA

    STM32CUBEMX配置教程(十三)STM32的定時(shí)器觸發(fā)的固定頻率DAC輸出(使用DMA
    發(fā)表于 11-24 14:06 ?46次下載
    <b class='flag-5'>STM32CUBEMX</b>配置教程(十三)<b class='flag-5'>STM32</b>的定時(shí)器觸發(fā)的固定頻率DAC輸出(使用<b class='flag-5'>DMA</b>)

    STM32F407的串口UART 基礎(chǔ)配置STM32CubeMX

    STM32F407的串口UART 基礎(chǔ)配置STM32CubeMX
    發(fā)表于 11-29 16:06 ?54次下載
    <b class='flag-5'>STM32</b>F407的<b class='flag-5'>串口</b>UART 基礎(chǔ)配置<b class='flag-5'>STM32CubeMX</b>

    STM32CubeMX完成USART串口通信

    STM32CubeMX完成USART串口通信
    發(fā)表于 12-06 20:36 ?24次下載
    <b class='flag-5'>STM32CubeMX</b>完成USART<b class='flag-5'>串口</b>通信

    作業(yè)七STM32CubeMX及匯編語(yǔ)言串口通信

    作業(yè)七STM32CubeMX及匯編語(yǔ)言串口通信
    發(fā)表于 12-07 09:06 ?2次下載
    作業(yè)七<b class='flag-5'>STM32CubeMX</b>及匯編語(yǔ)言<b class='flag-5'>串口</b>通信

    STM32CubeMX HAL庫(kù)串口+DMA+IDLE空閑中斷不定長(zhǎng)度數(shù)據(jù)接收和發(fā)送

    Cube_FW_F1_V1.8.0(STM32Cube MCU Package for STM32F1xx Series)本文內(nèi)容:不定長(zhǎng)數(shù)據(jù)接收的原理IDLE空閑中斷介紹串口接收ID
    發(fā)表于 12-07 11:36 ?24次下載
    <b class='flag-5'>STM32CubeMX</b> HAL庫(kù)<b class='flag-5'>串口</b>+<b class='flag-5'>DMA</b>+IDLE空閑中斷不定長(zhǎng)度<b class='flag-5'>數(shù)據(jù)</b>接收和發(fā)送

    STM32 HAL CubeMX 串口IDLE接收空閑中斷+DMA

    關(guān)于DMA原理部分講解,及CubeMx配置部分,請(qǐng)參考該文章【STM32】HAL庫(kù) STM32CubeMX教程十一—DMA (
    發(fā)表于 12-20 19:39 ?30次下載
    <b class='flag-5'>STM32</b> HAL <b class='flag-5'>CubeMX</b> <b class='flag-5'>串口</b>IDLE接收空閑中斷+<b class='flag-5'>DMA</b>

    STM32CUBEMX配置教程(九)STM32串口DMA收發(fā)數(shù)據(jù)

    STM32CUBEMX配置教程(九)STM32串口DMA收發(fā)數(shù)據(jù)基于
    發(fā)表于 12-24 18:47 ?24次下載
    <b class='flag-5'>STM32CUBEMX</b>配置教程(九)<b class='flag-5'>STM32</b><b class='flag-5'>串口</b><b class='flag-5'>DMA</b><b class='flag-5'>收發(fā)</b><b class='flag-5'>數(shù)據(jù)</b>

    基于STM32CubeMX——HAL庫(kù)開發(fā)的串口通訊(DMA模式)

    STM32CubeMX——串口STM32CubeMX配置相關(guān)函數(shù)重新配置printf與scanf配置代碼STM32CubeMX配置首先打開STM32
    發(fā)表于 12-24 18:48 ?13次下載
    基于<b class='flag-5'>STM32CubeMX</b>——HAL庫(kù)開發(fā)的<b class='flag-5'>串口</b>通訊(<b class='flag-5'>DMA</b>模式)

    STM32CubeMX-串口開啟DMA進(jìn)行數(shù)據(jù)傳輸

    STM32CubeMX筆記-串口開啟DMA進(jìn)行數(shù)據(jù)傳輸
    發(fā)表于 12-27 18:40 ?7次下載
    <b class='flag-5'>STM32CubeMX</b>-<b class='flag-5'>串口</b>開啟<b class='flag-5'>DMA</b>進(jìn)行<b class='flag-5'>數(shù)據(jù)</b>傳輸

    STM32CubeMX串口接收不定長(zhǎng)數(shù)據(jù)

    基本串口通信通常只能接收到定長(zhǎng)數(shù)據(jù),無(wú)法穩(wěn)定接收不定長(zhǎng)數(shù)據(jù),本章介紹利用STM32單片機(jī)的IDLE空閑中斷,接收不定長(zhǎng)
    的頭像 發(fā)表于 05-11 09:59 ?2923次閱讀
    <b class='flag-5'>STM32CubeMX</b>之<b class='flag-5'>串口</b>接收不定長(zhǎng)<b class='flag-5'>數(shù)據(jù)</b>