91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第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
    +關注

    關注

    2293

    文章

    11031

    瀏覽量

    364733
  • 時鐘
    +關注

    關注

    11

    文章

    1898

    瀏覽量

    133200
  • 串口
    +關注

    關注

    15

    文章

    1588

    瀏覽量

    79908
  • 串口通信
    +關注

    關注

    34

    文章

    1639

    瀏覽量

    56804
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32F407 串口配置步驟

    介紹STM32F407串口配置步驟,完成串口的數據發送與接收、實現中斷接收,支持printf重定向。
    的頭像 發表于 07-06 14:29 ?4669次閱讀
    <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 ?8568次閱讀
    關于 printf和scanf<b class='flag-5'>在</b>開發<b class='flag-5'>STM32</b><b class='flag-5'>中</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>實驗

    STM32CUBE 配置項目(串口1)

    一、配置MCU (1) 、文件--新建項目--選擇自己所用的MCU類型、接著配置RCC時鐘,都選外部晶振。(2)、配置時鐘頻率(這里配置為180M)二、
    發表于 12-14 18:43 ?0次下載
    <b class='flag-5'>STM32</b>CUBE  <b class='flag-5'>配置</b>項目(<b class='flag-5'>串口</b>1)

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

    STM32使用CubeMAX配置串口中斷接收方法目錄1.定位串口中斷發生的地方2.處理串口中斷接收的流程是:(1)初始化
    發表于 12-14 18:45 ?30次下載
    <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 ?3453次閱讀
    主站蜘蛛池模板: 国内色视频 | 免费观看在线视频 | 97精品伊人久久久大香线焦 | 日本一区二区在线视频 | 新版bt天堂资源在线 | 国产精品欧美精品国产主播 | 日韩第十页 | 天天躁日日躁狠狠躁一级毛片 | 亚洲大胆精品337p色 | 一本到午夜92版免费福利 | 欧美性生活网站 | 女人张开腿给男人桶爽免费 | 欧美另类自拍 | 欧美激情伊人 | 亚洲婷婷综合色高清在线 | 香蕉色综合 | 嫩草影院国产 | 欧美成人a| 久久婷婷国产一区二区三区 | 啪啪调教所29下拉式免费阅读 | 午夜视频在线观看免费观看在线观看 | 国产精品久久久香蕉 | 看大片全色黄大色黄 | 激情久久久久久久久久 | 国产精品美女在线 | 特黄特色三级在线观看 | 天天做天天玩天天爽天天 | 亚洲影院手机版777点击进入影院 | 欧美人与动性行为网站免费 | 国产主播在线一区 | 97色噜噜 | 日本免费a级片 | 天天射久久 | 国产黄色a三级三级三级 | 视频免费观看视频 | 亚洲成a人片77777潘金莲 | 业余性自由色xxxx视频 | 中文字幕精品一区影音先锋 | 免费免费啪视频视频观看 | 日本人善交69xxx | 免费在线一区二区三区 |