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

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

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

3天內不再提示

STM32入門學習筆記之USART驅動實驗(下)

jf_78858299 ? 來源:滑小稽筆記 ? 作者:電子技術園地 ? 2023-02-16 10:08 ? 次閱讀

6.2.4 狀態寄存器USART_SR

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
-
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- CTS LBD TXE TC RXNE IDLE ORE NE FE PE

Bit 9:CTS標志(如果設置了CTSE位,當nCTS輸入變化狀態時,該位被硬件置高,由軟件將其清零)

0:nCTS狀態線上沒有變化

   1:nCTS狀態線上發生變化

Bit 8:LIN斷開檢測標志(當探測到LIN斷開時,該位由硬件置1,由軟件將其清零)

0:沒有檢測到LIN斷開

   1:檢測到LIN斷開

Bit 7:發送數據寄存器空

當TDR寄存器中的數據被硬件轉移到移位寄存器時,該位被硬件置位,對USART_DR的寫操作,將該位清零。

   0:數據還沒有被轉移到移位寄存器

   1:數據已經被轉移到移位寄存器

Bit 6:發送完成

當包含有數據的一幀發送完成后,并且TXE=1時,由硬件將該位置’1’。然后寫入USART_DR清除該位。

   0:發送還未完成

   1:發送完成

Bit 5:讀數據寄存器非空

當數據被轉移到USART_DR寄存器中,該位被硬件置位。對USART_DR讀操作可以將該位清零。

   0:數據沒有收到;

   1:收到數據,可以讀出

Bit 4:檢測到總線空閑

當檢測到總線空閑時,該位被硬件置位,則產生中斷。先讀USART_SR,然后讀USART_DR清除該位。

   0:沒有檢測到空閑總線

   1:檢測到空閑總線

Bit 3:過載錯誤

當RXNE仍然是1的時候,當前被接收在移位寄存器中的數據,需要傳送至RDR寄存器時,硬件將該位置位,先讀USART_SR,然后讀USART_CR清零。

   0:沒有過載錯誤

   1:檢測到過載錯誤

Bit 2:噪聲錯誤標志

在接收到的幀檢測到噪音時,由硬件對該位置位。先讀USART_SR,再讀USART_DR清0。

   0:沒有檢測到噪聲

   1:檢測到噪聲

Bit 1:幀錯誤

當檢測到同步錯位,過多的噪聲或者檢測到斷開符,該位被硬件置位。先讀USART_SR,再讀USART_DR清零

   0:沒有檢測到幀錯誤

   1:檢測到幀錯誤或者break

Bit 0:校驗錯誤

在接收模式下,如果出現奇偶校驗錯誤,硬件對該位置位。依次讀USART_SR和USART_DR清零,在清除PE位前,軟件必須等待RXNE標志位被置1。

   0:沒有奇偶校驗錯誤;

   1:奇偶校驗錯誤

6.3 printf函數重映射

學習C語言的時候會經常用到一個函數,就是格式化輸出printf,這個函數的源代碼如下所示。

圖片

從上圖可以看出來,printf函數實際上的核心是putchar函數,在KEIL中,由于我們使用了MicroLIB,所以putchar函數改為了fputc函數,此時,我們只需要修改fputc函數就可以完成printf重定向,重定向代碼如下圖所示。

圖片

6.4 串口例程

使用printf函數將串口接收到的字符串發送出去。

(1)底層寄存器文件stm32f10x.h添加串口寄存器地址。

圖片

圖片

圖片

(2)在SYSTEM目錄下新建usart1目錄,并在usart1目錄下新建usart1.c和usart1.h兩個文件。

圖片

(3)將usart1.c和usart1.h兩個文件加入工程。

圖片

圖片

(4)在usart1.c文件內寫入以下代碼。

圖片

圖片

(5)在usart1.h添加以下代碼。

圖片

(5)在1.c文件中添加以下代碼。

圖片

6.5 實驗結果

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6039

    文章

    44579

    瀏覽量

    636454
  • STM32
    +關注

    關注

    2270

    文章

    10910

    瀏覽量

    356591
  • USART
    +關注

    關注

    1

    文章

    195

    瀏覽量

    30898
收藏 人收藏

    評論

    相關推薦

    小白高手都適用,STM32學習教程(入門合集、自學筆記和例程)

    STM32入門教程資料合集:主要內容為STM32入門教程資料合集免費下載包括了:,《USART串口編程》,《如何安裝J-Link
    發表于 04-10 14:56

    CubeMX入門STM32 HAL庫的學習筆記

    STM32CubeMX是ST官方開發的一款很好用的軟件,主要用于STM32系列單片機的硬件驅動層的配置。網上也有一些關于STM32CubeMX的相關教程,對它的相關操作進行說明。從今天
    發表于 08-17 06:55

    STM32入門學習筆記 精選資料分享

    STM32入門學習筆記本文為筆者入門學習過程的記錄,只是零散的記錄了一些個人不太懂得,覺得需要經
    發表于 08-24 07:56

    AN2557_STM32F10xxx使用USART的應用中編程

    STM2TAN2557_STM32F10xxx使用USART的應用中編程,很好的stm32資料,快來學習吧,免費的哦。
    發表于 04-26 09:43 ?14次下載

    STM32AN2582_STM32F10xxx USART應用

    STM32AN2582_STM32F10xxx USART應用實例,很好的STM32資料,快來學習
    發表于 04-26 09:51 ?27次下載

    STM32各模塊學習筆記

    STM32個模塊學習筆記 目錄 STM32筆記之一 中斷優先級.......................................
    發表于 11-30 03:32 ?3169次閱讀

    STM32筆記USART串口通信

    關于STM32學習分享第五章 USART串口通信文章目錄關于STM32學習分享前言二、代碼1.usart
    發表于 11-21 18:21 ?13次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>USART</b>串口通信

    STM32學習筆記1——軟硬件基礎keil5編程與GPIO開發

    STM32學習筆記1——軟硬件基礎keil5編程與GPIO開發
    發表于 11-30 12:36 ?4次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>1——軟硬件基礎<b class='flag-5'>之</b>keil5編程與GPIO開發

    usart學習筆記

    學習筆記USART介紹:目的:使用USART進行通信,收發數據更多介紹:stm32_CN -> p516頁框圖:中斷請求:T
    發表于 12-04 17:21 ?10次下載
    <b class='flag-5'>usart</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>

    STM32USART窗口通訊程序

    !”,上位機接收程序可以使用“串口調試助手“,也可自己編程。3)當上位機給stm32發送“Stop,stm32”后,stm32停止發送。實驗步驟安裝usb轉串口的
    發表于 12-07 11:06 ?3次下載
    <b class='flag-5'>STM32</b>的<b class='flag-5'>USART</b>窗口通訊程序

    STM32學習STM32cubeMX軟件安裝與使用(附STM32cubeMX5.2.1載地址)

    STM32學習STM32cubeMX軟件安裝與使用(附STM32cubeMX5.2.1載地址
    發表于 12-07 11:51 ?28次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學習</b><b class='flag-5'>之</b><b class='flag-5'>STM32</b>cubeMX軟件安裝與使用(附<b class='flag-5'>STM32</b>cubeMX5.2.1<b class='flag-5'>下</b>載地址)

    16 . USART 串口通信實驗

    USART 串口通信實驗我們知道STM32F1 內部含有非常多的通信接口,我們就來學習USART
    發表于 12-20 19:22 ?20次下載
    16 . <b class='flag-5'>USART</b> 串口通信<b class='flag-5'>實驗</b>

    STM32USART串口配置——學習筆記(5)

    文章內容根據野火學習教程進行整理,僅僅是學習記錄。開發板: 野火STM32F429-挑戰者V2官方固件庫版本: STM32F4xx_DSP_StdPeriph_Lib_V1.8.0一、
    發表于 12-28 19:00 ?0次下載
    <b class='flag-5'>STM32</b>的<b class='flag-5'>USART</b>串口配置——<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>(5)

    STM32CubeMX與HAL庫學習--ADC與USART的簡單練習

    ,打算簡單的用一,其實我就是把ADC的值讀一再算一就用USART發送出去。本文是學習過程的一點記錄。使用到的工具及版本:
    發表于 01-12 20:27 ?13次下載
    <b class='flag-5'>STM32</b>CubeMX與HAL庫<b class='flag-5'>學習</b>--ADC與<b class='flag-5'>USART</b>的簡單練習

    STM32入門學習筆記USART驅動實驗(上)

    串口無法正常收發,但是如果使用11.0592MHz晶振又會存在定時器計數誤差(即定時器計數不準確),在STM32中很好地解決了這個問題,并且擴展了串口的應用。
    的頭像 發表于 02-16 10:08 ?702次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>入門</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>USART</b><b class='flag-5'>驅動</b><b class='flag-5'>實驗</b>(上)
    主站蜘蛛池模板: 四虎884tt紧急大通知| 欧美综合天天夜夜久久| 久久ww| jizjizjizjiz日本护士出水| 天堂自拍| 美人岛福利| 高清视频免费观看| 天天视频入口| 四虎884tt紧急大通知| 久久久久久久国产| 91福利免费视频| 亚洲欧美天堂网| 91综合在线视频| 女人aaaaa片一级一毛片| 中文天堂最新版资源新版天堂资源| 男人操女人免费| 性瘾高h姚蕊全文免费阅读| 全亚洲最大的777io影院| 4438x成人网全国最大| 国产一区中文字幕| 天天爱天天色| 黄 色 成 年人网站| 在线视频h| 欧美丝袜一区| 午夜男人网| 女人色视频| 狠狠色狠狠色综合久久一| videosgratis欧美另类老太| 天天干天天拍| 视频 在线| 在线观看亚洲天堂| 日韩亚洲欧洲在线com91tv| 狠狠做久久深爱婷婷97动漫| 天天做天天爱天天干| 国产午夜a理论毛片在线影院 | 成人综合婷婷国产精品久久免费| 亚洲www网站| 欧美高清在线播放| 夜夜操网站| 日本xxxxxxxxx68| 亚洲综合久久久|