在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

串口在STM32中的配置

麥辣雞腿堡 ? 來源:CSDN博客 ? 作者:藕粉- ? 2023-11-10 16:09 ? 次閱讀

首先要明確幾點:使用STM32串口外設中的哪一個?串口發送或者接收數據?串口相關的參數配置?發送或接收是否使用到中斷?

下方為串口發送的配置。

1. RCC開啟USART、串口TX/RX所對應的GPIO口

RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE); //開啟USART2的時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //開啟GPIOA的時鐘

2. 初始化GPIO口

這里注意哈,根據自己的需求來配置GPIO口,發送和接收是都需要還是只需要其中一個。然后對應的根據引腳定義表來初始化對應的GPIO口。

USART2對應的引腳

![圖片](//file1.elecfans.com/web2/M00/AD/80/wKgaomVN5C6ASwmnAACEGwhPI6Q875.jpg)

USART1對應的引腳

![圖片](//file1.elecfans.com/web2/M00/AF/4D/wKgZomVN5C6AaiujAABzopcY4SM368.jpg)

這里根據手冊來看,RX引腳模式配置成浮空輸入或者上拉輸入。TX引腳模式配置成復用推挽輸出。

比如我這里只初始化TX發送端


//TX端
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; //復用推挽輸出
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2; //USART2對應的TX端為GPIOA2
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //50MhZ
GPIO_Init(GPIOA,&GPIO_InitStructure);

3. 串口初始化

注意哈,USART_Init()這個函數,是用來配置串口的相關參數的。

* USART_BaudRate 串口通信使用的波特率 一般是9600或者是115200,這里我們給9600
* USART_HardwareFlowControl 是否選擇硬件流觸發,一般這個我們也不選,所以選擇無硬件流觸發。
* USART_Mode 這個參數要注意了哈,串口的模式,發送模式還是接收模式,還是兩者都有
* USART_Parity 校驗位,可以選擇奇偶校驗和不校驗。沒有需求就直接無校驗
* USART_StopBits 停止位 有1、0.5、2位,我們這里選1位停止位
* USART_WordLength 數據位 有8位和9位可以選擇

//串口初始化
USART_InitTypeDef USART_InitStruct;
USART_StructInit(&USART_InitStruct); //初始默認值
USART_InitStruct.USART_BaudRate=9600;
USART_InitStruct.USART_HardwareFlowControl=USART_HardwareFlowControl_None; //不使用硬件流觸發
USART_InitStruct.USART_Mode=USART_Mode_Tx; //TX 發送模式
USART_InitStruct.USART_Parity=USART_Parity_No; //不選擇校驗
USART_InitStruct.USART_StopBits=USART_StopBits_1; //停止位1位
USART_InitStruct.USART_WordLength=USART_WordLength_8b; //數據位8位
USART_Init(USART2,&USART_InitStruct);

4. 串口使能

//串口使能
USART_Cmd(USART2,ENABLE);

5. 串口發送數據

注意哈,我們要判斷TXE標志位的狀態。0,數據還沒有被轉移到移位寄存器;1,數據已經被轉移到移位寄存器。

當TXE標志位為1時,就說明可以發送下一個數據了。詳細過程可看上面串口發送的解釋。

void Serial_SendByte(uint16_t Byte)
{
USART_SendData(USART2,Byte);
//0 表示數據還未轉移到移位寄存器 循環等待 1 數據已經被轉移到了移位寄存器可以發送數據
while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)==RESET); //不需要手動清零 再次寫入TDR時會自動清零
}

經過上述五步的配置,單片機就可以通過串口發送數據了。

下方為發送數據圖例,STM32向串口發送0x16數據

![圖片](//file1.elecfans.com/web2/M00/AD/80/wKgaomVN5C6AehIXAADtGeauIak368.jpg)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2270

    文章

    10914

    瀏覽量

    356727
  • 時鐘
    +關注

    關注

    11

    文章

    1739

    瀏覽量

    131624
  • 串口
    +關注

    關注

    14

    文章

    1557

    瀏覽量

    76719
  • 串口通信
    +關注

    關注

    34

    文章

    1627

    瀏覽量

    55601
收藏 人收藏

    評論

    相關推薦

    STM32F407 串口配置步驟

    介紹STM32F407串口配置步驟,完成串口的數據發送與接收、實現中斷接收,支持printf重定向。
    的頭像 發表于 07-06 14:29 ?3278次閱讀
    <b class='flag-5'>STM32</b>F407 <b class='flag-5'>串口</b><b class='flag-5'>配置</b>步驟

    關于 printf和scanf開發STM32配置和應用

    關于printf和scanf開發STM32配置和應用
    的頭像 發表于 03-24 10:50 ?8060次閱讀
    關于 printf和scanf<b class='flag-5'>在</b>開發<b class='flag-5'>STM32</b><b class='flag-5'>中</b>的<b class='flag-5'>配置</b>和應用

    STM32CUBEMX配置教程(八)STM32串口輪詢發送中斷接收+重定義+優化

    STM32CUBEMX配置教程(八)STM32串口輪詢收發+重定義基于STM32H743VI使用STM3
    發表于 11-19 13:36 ?11次下載
    <b class='flag-5'>STM32</b>CUBEMX<b class='flag-5'>配置</b>教程(八)<b class='flag-5'>STM32</b><b class='flag-5'>串口</b>輪詢發送中斷接收+重定義+優化

    STM32F407的串口UART 基礎配置STM32CubeMX

    STM32F407的串口UART 基礎配置STM32CubeMX
    發表于 11-29 16:06 ?56次下載
    <b class='flag-5'>STM32</b>F407的<b class='flag-5'>串口</b>UART 基礎<b class='flag-5'>配置</b><b class='flag-5'>STM32</b>CubeMX

    STM32串口喚醒低功耗

    正常喚醒,但是喚醒之后,串口收發貌似就不正常了。 原因分析:串口進入低功耗之前,是把串口的接收引腳配置為了外部中斷輸入腳,喚醒之后再重新配置
    發表于 12-07 19:51 ?33次下載
    【<b class='flag-5'>STM32</b>】<b class='flag-5'>串口</b>喚醒低功耗

    STM32串口配置實驗

    STM32 串口簡介串口作為 MCU 的重要外部接口,同時也是軟件開發重要的調試手段,其重要性不言而喻。現在基本上所有的 MCU 都會帶有串口ST
    發表于 12-08 12:21 ?11次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>串口</b><b class='flag-5'>配置</b>實驗

    STM32使用CubeMAX配置串口中斷接收方法

    STM32使用CubeMAX配置串口中斷接收方法目錄1.定位串口中斷發生的地方2.處理串口中斷接收的流程是:(1)初始化
    發表于 12-14 18:45 ?28次下載
    <b class='flag-5'>STM32</b>使用CubeMAX<b class='flag-5'>配置</b>的<b class='flag-5'>串口</b>中斷接收方法

    STM32串口通信的基礎知識

    STM32串口異步通信需要定義的參數奇偶矯正位如果GPIO作為串口,如何配置輸入輸出模式?異步串口通信框圖講解
    發表于 12-24 18:37 ?4次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>中</b>的<b class='flag-5'>串口</b>通信的基礎知識

    STM32 教你用串口配置所需詳細步驟!!!

    相關寄存器:外設GPIO配置-USART串口配置一般步驟: 串口配置步驟小結:STM32
    發表于 12-24 18:44 ?16次下載
    <b class='flag-5'>STM32</b> 教你用<b class='flag-5'>串口</b>,<b class='flag-5'>配置</b>所需詳細步驟!!!

    STM32CUBEMX配置教程(九)STM32串口DMA收發數據

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

    5. STM32——串口發送字符、字符串 + printf 的重定向

    STM32——串口發送字符、字符串 + printf 的重定向基本框架1. 配置時鐘:配置GPIO時鐘、窗口時鐘、引腳復用時鐘2. 配置GP
    發表于 12-24 18:53 ?11次下載
    5. <b class='flag-5'>STM32</b>——<b class='flag-5'>串口</b>發送字符、字符串 + printf 的重定向

    STM32CubeMx配置DMA+串口空閑中斷+FreeRTOS,完美處理串口數據。

    。使用DMA輔助處理串口的數據,能夠大幅緩解單片機的運行壓力,提高串口數據的處理能力。使用CubeMx配置串口+DMA+FreeRTOS,以下內容僅展示了主要涉及到的
    發表于 12-24 19:11 ?53次下載
    <b class='flag-5'>STM32</b>CubeMx<b class='flag-5'>配置</b>DMA+<b class='flag-5'>串口</b>空閑中斷+FreeRTOS,完美處理<b class='flag-5'>串口</b>數據。

    STM32f103------串口中斷及其配置

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔STM32f103------串口中斷及其配置使能串口時鐘和GPIO時鐘配置
    發表于 12-27 19:30 ?22次下載
    <b class='flag-5'>STM32</b>f103------<b class='flag-5'>串口</b>中斷及其<b class='flag-5'>配置</b>

    2021-04-17 STM32串口寄存器庫函數配置

    STM32串口寄存器庫函數配置方法STM32常用寄存器和庫函數串口配置一般步驟(
    發表于 12-28 19:13 ?7次下載
    2021-04-17  <b class='flag-5'>STM32</b><b class='flag-5'>串口</b>寄存器庫函數<b class='flag-5'>配置</b>

    stm32串口燒錄怎么設置

    準備工作 確保您擁有STM32開發板和相應的硬件設備,如USB轉串口模塊。 安裝STM32CubeMX和STM32CubeProgrammer軟件,這些是ST官方提供的工具,用于
    的頭像 發表于 08-22 09:33 ?1704次閱讀
    主站蜘蛛池模板: 久久综合色视频| 久久久久国产精品免费免费不卡| 国产精品高清免费网站| 久草成人在线视频| 性欧美黑人xxxx| 亚洲美女视频一区二区三区| 日本xxxx69| 91av免费| 成人在线黄色| 色成人免费网站| 中文字幕亚洲一区二区va在线| 成人福利在线视频| 欧美性黄色| 欧美另类亚洲一区二区| 一级毛片真人免费观看| 色综合综合网| 免费在线黄色网| 操你啦在线视频| 国产成人亚洲精品77| 久久久五月| 国产激烈无遮挡免费床戏视频| 宅男噜噜噜66| 欧美作爱福利免费观看视频| tom影院亚洲国产一区二区| 伊人网大香| 亚洲网站www| 欧美福利专区| 操久久| 午夜久久久久久亚洲国产精品| 欧美激情 自拍| 日本aaaa级毛片在线看| 一级做a爰片久久免费| 日本一区三区二区三区四区| 国产在线美女| 天堂资源地址在线| 国产在线h视频| 亚洲免费成人在线| 免费看毛片网| 天天影院网| 男人资源站| 68日本xxxxxxxxx777|