久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2022|回復: 0
打印 上一主題 下一主題
收起左側

飛控開發基礎-[3] STM32串口(基礎收發)

[復制鏈接]
跳轉到指定樓層
樓主

串口(基礎收發)[size=15.0000pt]一、串口簡介
在嵌入式開發領域講的串口通常指的是UART,UART即為通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter)。是一種通用串行數據總線,用于異步通信。該總線雙向通信,可以實現全雙工傳輸和接收。
UART常常用于兩個單片機之間進行數據傳輸,如下圖所示。
其通信過程如下圖所示。
STM32F103提供了3路串口,支持同步單線通信和半雙工單線通信、支持LIN、支持調制解調器操作、智能卡協議和IrDA SIR ENDEC規范、具有DMA等。可配置為串口的引腳是有限制的,所以在設計硬件電路時需要注意哪些引腳可以配置為串口引腳,如下表所示。
串口管腳映射
串口號
RXD
TXD
1
PA10
PA9
2
PA3
PA2
3
PB11
PB10

二、UART串口通訊協議
串口通訊過程中一幀數據包含了起始位、數據位、停止位以及可有可無的奇偶校驗位,除了需要知道這些概念外,還需要理解波特率的概念。
(1)起始位,當未有數據發送時,數據線處于邏輯1”狀態;先發出一個邏輯“0”信號,表示開始傳輸字符;
(2)數據位,緊接著起始位之后的8個數據。從最低位開始傳送;
(3)奇偶校驗位,一般不用;
(4)停止位,一般為1位(也可以是1.5位或者2位),為高電平。作為結束的標志;
(5)波特率,波特率表示每秒鐘傳送的碼元符號的個數,是衡量數據傳送速率的指標。
如下圖所示,為一幀串口數據的幀組成。
三、UART串口寄存器
STM32F103與串口相關的寄存器眾多,這里只講解重要的幾個寄存器。
(1)USART_SR狀態寄存器,如下圖所示
需要了解的位有:TXE:發送寄存器為空;TC:發送完成;RXNE:讀取數據寄存器不為空;ORE:上溢錯誤;FE:幀錯誤;PE:奇偶校驗錯誤。
(2)USART_DR:該寄存器只有低8位有效,而且具有讀寫操作,有關該寄存器中的數據是要發送的數據還是接受到的數據取決于執行的操作是“讀取”還是“寫入”。 如下圖所示:
(3)USART_BRR:波特率寄存器,用于設置串口通訊的波特率,如下圖所示:
其中在寄存器中會設定相應的值,DIV_Mantissa[11:0]用來設定分頻系數的整數部分,DIV_Fraction[3,0]用來設定分頻系數的小數部分。
串口的波特率計算公式如下:
              
這里的fPCLKx(x=1、2)是給外設的時鐘(PCLK1用于USART2、3、4、5,PCLK2用于USART1,這里STM32F103CBT6沒有的串口就不講解)。USARTDIV是一個無符號的點數。假設串口波特率為115200,使用的是串口1,串口的時鐘為PCLK2的時鐘(即APB2總線的時鐘)為72MHz,如下圖所示。
根據公式可得:
USARTDIV=72000000/(115200*16)=39.0625
所以小數部分DIV_Fraction=0.0625*16=1=0x01。
整數部分DIV_Mantissa=39=0x27

四、串口基礎收發實驗
串口收發實驗使用STM32的串口1UART1,通過串口模塊連接電腦,使用串口調試助手來進行通信,STM32收到數據后把收到的數據在發回電腦。串口引腳如下圖所示
兩個串口引腳分別與PA9PA10引腳相連,那么我們就對PA9PA10引腳以及串口模塊進行配置,配置代碼(通過調用官方庫)。
代碼編寫的思路如下:
編程思路
1
管腳配置
1、定義結構體;
2、使能時鐘;
3、填充結構體;
4、裝載結構體。
2
串口配置
1、定義結構體;
2、使能時鐘;
3、填充結構體;
4、裝載結構體
5、開啟中斷;
6、使能串口。
3
中斷優先級管理
1、定義結構體;
2、填充結構體;
3、裝載結構體。
4
邏輯處理
等待接收以及發送數據
串口初始化代碼如下:
串口中斷函數代碼如下:
設置串口1的波特率為115200,代碼如下:
保存、編譯、下載代碼,把飛控上的USART1上接的視覺模塊先拔下來,然后接上USB轉串口模塊,如下圖所示:
然后在把USB轉串模塊插到電腦的USB口,打開電腦端的串口調試助手,找到對應的COM口(前提是安裝了USB轉串口驅動),設置波特率為115200,打開,在串口調試助手的輸入框內輸入“www點fengke點club”,點發送,然后可以看到串口調試助手收到來自STM32的回發信息,也是“www點fengke點club”,如下圖所示。


完整的pdf格式文檔51黑下載地址:
2.飛控開發基礎-【3】串口(基礎收發).pdf (1.03 MB, 下載次數: 14)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品91网站 | 成人午夜视频在线观看 | 国产99久久精品一区二区永久免费 | 欧美精品一区二区蜜桃 | 国产午夜精品久久久 | 91av免费看 | 日操夜操 | 国产日韩久久 | 盗摄精品av一区二区三区 | 米奇狠狠鲁| 日本欧美在线观看视频 | 日韩国产免费观看 | 中文字幕av在线 | 91精品久久久 | 一区二区亚洲 | 91热在线| 国产成人精品免费视频大全最热 | 成人av鲁丝片一区二区小说 | 黄色国产大片 | 欧美一级片在线看 | 精品伦精品一区二区三区视频 | 国产精品美女一区二区 | 精品在线一区 | 国产亚洲一区二区三区在线观看 | 国产剧情一区 | av中文在线 | 精品一区二区三区在线观看 | 黑色丝袜三级在线播放 | 久久精品亚洲精品国产欧美 | 精区3d动漫一品二品精区 | 日本中文字幕视频 | 欧美日韩视频在线 | 国产一区二区精品 | 亚洲一区二区三区视频 | 成人免费观看视频 | 色天堂影院 | 成人一区二区视频 | 成人在线电影网站 | 日韩一区中文字幕 | 婷婷桃色网 | 亚洲一区二区在线免费观看 |