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

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

3天內不再提示

USART基礎知識點復習

PCB_001_YXF ? 來源:自豪三王 ? 作者:自豪三王 ? 2022-11-21 11:32 ? 次閱讀

本文解答三問題:

1 串口是什么,

2 串口數據從哪里來,

3 串口數據去向何方。

術語:

1formula 對應公式

2parity even奇校驗 odd偶校驗

3TXE 發(fā)送數據寄存器空 (Transmitdataregisterempty)

4TC發(fā)送完成 (Transmissioncomplete)

5RXNE讀數據寄存器非空readdataregisternotempty

6 abandon 放棄

串口通訊中物理層:

1規(guī)定數據傳輸介質

協(xié)議層:

1規(guī)定傳輸的形式,統(tǒng)一雙方的數據打包方式,解包標準

電平標準:

1TTL 電平為3.3V 0v

2RS232 +15v到-15v

3 485電平 +2-+6表示1,-2--6表示0

232標準串口主要用于工業(yè)設備直接通信

1高低電平標準較高,用于抗干擾,以及抗靜電 使用峰峰值 進行抗干擾

2max3232 sp3232 轉換芯片上有獨立的供電接口

3DB9端口上 大頭開始的端口為1腳,對于公頭 2/3分別為 R/T 對于母頭2/3為T/R

串口校驗位

1奇校驗 數據1對應的數量不為奇數,校驗位,補充一位1

2偶校驗 數據1對應的數據量不為偶數,校驗位,補充一位1

3無校驗 數據位中不包含校驗位

串口模式:

對應兩種模式,發(fā)送模式,以及接收模式 硬件控制流,

異步發(fā)送數據,數據發(fā)送幀中插入有效的標志位

polarity極性 phase相位

時鐘極性:

1 0總線空閑時CK引腳上保持低電平

1總線空閑時CK引腳上保持高電平

2部分串口上不支持時鐘極性的配置方式

時鐘相位 :

1 0 :在時鐘的第一個邊沿進行數據采集

2 1:在時鐘的第二個邊沿進行數據采集

總結:

時鐘中極性以及相位:方式保持一致即可,主機需要適配從機上通訊方式

LBCL:最后一位時鐘脈沖

1 0最后一位數據的時鐘脈沖不從CK輸出

2 1最后一位的時鐘脈沖會從CK輸出

deInit復位寄存器數值

編程之前,需要對庫中使用到函數進行查看,否則會導致編程中出現不知道如何使用函數這種問題

串口初始化:

1BSP BoardSupport Package板極支持包 硬件設計相關的代碼都被封裝在BSP中,代碼層次設計,進行抽象 單獨設計

2使用條件編譯,定義頭文件,主要用來防止多個文件中重復對此頭文件進行調用,之后對應變量被重復定義使用

3串口模式可以進行設置,可發(fā)送可接收,可兩者同時操作

4數據發(fā)送,調用庫中發(fā)送單字節(jié)的函數進行數據籌備,之后,通過while函數,對數據發(fā)送緩沖區(qū)是否為空進行判斷,非set為真

后期串口上數據處理,都需要進行檢查

5定義變量一定要寫上變量初始數值,防止變量初始化之后,對應的數值不正確且很難找到問題點

6字符串中進行最后一位數據判斷,可以對數據進行提取,之后判定數據是否為 ''判斷字符串中對應數據是否發(fā)送完成

7printf函數是一個標準的c語言函數 使用此函數需要使用 stdio.h頭文件

8printf函數會使用到fputc這個函數,代碼中需要對fputc函數進行實現,之后,可正常使用print函數進行數據打印輸出

7667c76e-67ef-11ed-8abf-dac502259ad0.png

10 putchar函數也可以正常使用 putchar(‘A’); C語言中標準庫對應的操作方式

11進行數據發(fā)送,不勾選16進制數據顯示的情況下,部分數據不能正常顯示

串口號進行切換

1使用宏定義對不同的串口進行區(qū)分,開啟指定宏定義實現串口中通訊需求

2不同的串口,需要使能的時鐘不同

3中斷函數名,來自啟動文件

4串口數據接收:

1串口接收中斷參數配置,開始對搶占優(yōu)先級進行配置

2后續(xù)串口上數據交互,必須對寄存器標志進行判斷 發(fā)送數據,接收數據標志

3使用getchar函數,單片機上可以接收外部數據

4 C語言中常規(guī)數據收發(fā)的方式,在單片機中需要進行特殊處理,考慮到實際工控應用,單片機中數據處理需要進行合理的解析

5串口中發(fā)送的數據需要區(qū)分是字符還是數字

6串口參數進行配置中,需要先對芯片中資源以及擁有的IO進行統(tǒng)計

7IO重映射主要針對芯片上IO合理布局做出的決策

8數據寄存器 DR 一個數據發(fā)送寄存器TDR 和一個接收數據寄存器RDR 一個地址對應兩個物理內存

9寄存器中,使用0 / 1映射到實際的數字上 設備上端口不夠使用的情況下,可使用此種方法

10單片機中時鐘為外設工作的心臟,要是時鐘不工作,外設上也就不會正常運轉

11串口使能開啟,需要UE =1 TE = 1 發(fā)送數據時,對應數據流向為DMA或者 cpu兩種渠道

12波特率 每秒鐘要發(fā)送多少數據 【二進制位】

串口中寄存器說明

7696cf32-67ef-11ed-8abf-dac502259ad0.png

TXE 用來判斷數據 發(fā)送數據寄存器 先將數據放置到發(fā)送數據寄存器中,之后將數據移動到發(fā)送移位寄存器中 對應到寄存器為txc為數據傳輸標志位

TC標志位對應的是數據發(fā)送完成

串口上時鐘進行計算,需要先確定時鐘來源

76d534c0-67ef-11ed-8abf-dac502259ad0.png

定時器以及串口上使用時鐘,分別掛載在APB1 APB2

備注:

1 后續(xù)設備使用GD32芯片,可以考慮提升芯片上串口波特率 ,或者使用同步串口進行數據傳輸

2 單片機中對小數進行表示,精度為bit位對應有效數據分之1 波特率寄存器表示精度 1 / 16

3 計算出波特率對應數值,小數部分數值 / 1 / 16對應數值為 小數部分對應的轉化數字,實際數據 /精度 =數量級

4 波特率相關參數計算,可以使用宏定義 ,使用公式自己進行計算,最終實現賦值

祝各位:前程似錦。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 串口通訊
    +關注

    關注

    1

    文章

    258

    瀏覽量

    24818
  • USART
    +關注

    關注

    1

    文章

    195

    瀏覽量

    30766

原文標題:USART 基礎知識點復習

文章出處:【微信號:自豪三王,微信公眾號:自豪三王】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用PADS軟件進行PCB設計,有哪些基礎知識點

    使用PADS軟件進行PCB設計,有哪些基礎知識點?發(fā)現知識點很多、很雜、很亂,有沒有聚合歸納統(tǒng)一的內容給到
    發(fā)表于 08-20 12:07

    BFC的基礎知識點有哪些?

    BFC的基礎知識點:css盒模型清除浮動 div水平垂直居中原型和原型鏈
    發(fā)表于 11-05 06:02

    FPGA的基礎知識點及工作原理是什么

    FPGA的基礎知識點及工作原理是什么
    發(fā)表于 04-30 06:14

    求大神分享光電技術與光纖基礎知識點

    求大神分享光電技術與光纖基礎知識點
    發(fā)表于 10-12 07:10

    淺談幾個C語言基礎知識點

    文章目錄前言一、位操作二、使用步驟前言這里主要是簡單的復習一下幾個 C 語言基礎知識點,引導那些 C 語言基礎知識不是很扎實的用戶能夠快速開發(fā) STM32 程序。提示:以下是本篇文章正文內容一、位
    發(fā)表于 12-09 07:14

    STM32時鐘樹的基礎知識點匯總,絕對實用

    STM32時鐘樹的基礎知識點匯總,絕對實用
    發(fā)表于 02-14 07:49

    STM32 IIC和USART接口的基礎知識點匯總,絕對實用

    STM32 IIC和USART接口的基礎知識點匯總,絕對實用
    發(fā)表于 02-22 08:00

    單片機原理及應用考試復習知識點

    單片機原理及應用考試復習知識點挺全的。
    發(fā)表于 01-11 14:54 ?0次下載

    復習圖像處理知識點

    中南大學數字圖像預處理復習知識點,里面包含里所有的考點,可以參考。很全面。
    發(fā)表于 05-10 15:48 ?0次下載

    《電工基礎》知識點復習題快來復習做作看吧!

    本文檔的主要內容詳細介紹的是《電工基礎》知識點復習題快來復習做作看吧!免費下載。
    發(fā)表于 09-29 18:08 ?49次下載
    《電工基礎》<b class='flag-5'>知識點</b><b class='flag-5'>復習</b>題快來<b class='flag-5'>復習</b>做作看吧!

    Java知識點復習題和答案資料總結免費下載

    本文檔的主要內容詳細介紹的是Java知識點復習題和答案資料總結免費下載。
    發(fā)表于 12-20 10:37 ?6次下載

    信號與系統(tǒng)復習要點知識點資料免費下載

    本文檔的主要內容詳細介紹的是信號與系統(tǒng)復習要點知識點資料免費下載。
    發(fā)表于 04-22 08:00 ?0次下載
    信號與系統(tǒng)<b class='flag-5'>復習</b>要點<b class='flag-5'>知識點</b>資料免費下載

    單片機主要復習知識點及思考與練習資料合集免費下載

    本文檔的主要內容詳細介紹的是單片機主要復習知識點及思考與練習資料合集免費下載。
    發(fā)表于 08-08 17:33 ?1次下載
    單片機主要<b class='flag-5'>復習</b><b class='flag-5'>知識點</b>及思考與練習資料合集免費下載

    電力基礎知識點合集

    電力基礎知識點合集
    發(fā)表于 03-14 16:35 ?0次下載

    詳解射頻微波基礎知識點

    詳解射頻微波基礎知識點
    的頭像 發(fā)表于 01-29 10:28 ?2277次閱讀