久久午夜影院,91精品国产调教在线观看,日韩午夜免费,伊人久久大香线蕉av不卡

你的位置:首頁 > 測試測量 > 正文

萬變不離其宗之單片機串口共性問題

發布時間:2020-07-22 責任編輯:lina

【導讀】單片機開發串口是應用最為廣泛的通信接口,也是最為簡單的通信接口之一,但是其中的一些要點你是否明了呢?來看看本人對串口的一些總結,當然這個總結并不能面面俱到,只是將個人認為具有共性以及相對比較重要的點做了些梳理。
    
啥是串口?
 
首先這玩意兒分兩種:
●通用異步收發器(UART)是用于異步串行通信的一種物理層標準,其中數據格式和傳輸速度是可配置的。
●通用同步收發器(USART)是一種串行接口設備,可以對其進行編程以進行異步或同步通信。
 
數據格式
 
萬變不離其宗之單片機串口共性問題
 
線上空閑、無數據狀態為常高電平,故邏輯低定義為起始位。
●起始位:總是 1 位
●數據位:常見的有 8 位或 9 位。
      校驗位
      奇校驗
      偶校驗
無校驗
●停止位:
      1 位
      2 位
●波特率:bit rate 就是位/秒的概念,就是 1 秒傳送多少位的概念。常見的波特率有哪些呢?
 
這里須注意的要點:
 
萬變不離其宗之單片機串口共性問題
 
一個有效字節的傳輸時間怎么算?
 
萬變不離其宗之單片機串口共性問題
 
比如 9600 下,1 位起始位,8 位數據位,奇校驗,1 位停止位,則
 
萬變不離其宗之單片機串口共性問題
 
為什么要理解清楚這個概念呢,因為在應用中需要計算數據吞吐率問題,就比如一個應用是數據采集串口傳輸問題,需要計算采集的位速率需要小于或等于傳輸波特率,否則數據就來不及傳。當然如果說你有足夠大的緩沖區可以臨時存儲,但是如果進來太快,而傳出速度跟不上,多大的緩沖都會滿!
●校驗位有用嗎?當你的傳輸介質處于一個有干擾的場景下,校驗位就可以從物理層檢測出錯誤。
●理解數據編碼方式有啥意義呢?比如在調試中你可以利用邏輯分析直接去解析收發線上的數據報文。
●應用電路設計的時候 RX-TX 相連,很多初學者容易在這里踩坑!
●常見的傳輸位序為低有效位在前。
●對于波特率而言需要注意波特率發生器有可能帶來誤碼問題
 
啥是 UART?
 
萬變不離其宗之單片機串口共性問題
 
兩邊分別代表兩個通信的設備,單從 UART 編程的角度講收發不需要物理同步握手,想發就發。圖中箭頭代表數據信息流向。RX 表示接收數據,TX 表示發送數據。數據總是從發送端傳遞到接收端,這就是為啥 RX 連接 TX,TX 連 RX 的原因。
 
啥是 USART?
 
萬變不離其宗之單片機串口共性問題
 
同步簡單說,收發不可自如,不可以想發就發,收發需要利用硬件 IO 口進行握手,RTS/CTS 就是用于同步的握手信號:
●RTS:Ready to send,請求發送,用于在當前傳輸結束時阻止數據發送。
●CTS:clear to send,清除發送,用于指示 USART 已準備好接收數據。
 
這個對于普通應用而言并不常見,這里不做詳細展開,需要用到的時候只需要對應收發時控制握手信號即可。
 
編程策略
 
對于不同的單片機,其硬件體系各異,寄存器也差異很大,但是從收發編程策略角度而言,常見有下面三種方式:
●查詢發送/中斷接收模式
●收發中斷模式
●DMA 模式
 
查詢發送/中斷接收模式
 
這里以偽代碼方式描述一下:
 
萬變不離其宗之單片機串口共性問題
 
對于接收而言,如采用查詢模式則幾乎是沒有任何應用價值,因為外部數據不知道什么時候會到來,所以查詢接受就不描述了,這里描述一下中斷接收。
 
萬變不離其宗之單片機串口共性問題
 
中斷接收需要考慮的幾個要點:
●斷幀:這就取決于協議怎么制定了,比如應用協議定義的是 ASCII 碼方式,就可以定義同步頭、同步尾,比如 AT 指令的解析,做邏輯判斷幀頭、幀尾即可。但是如果傳輸的是 16 進制數據,比如 MODBUS-RTU 其斷幀采用的是 3.5 個字節時間沒有新的字節接收到,則認為收到完整的幀了。
●如何保證幀的完整性,一般會在報文尾部加校驗,比較常用的校驗模式有 CRC 校驗算法。
●不同的單片機開發環境對于中斷向量的處理方式略有不同,需要根據各自芯片的特點進行處理。比如 51 單片機,其發送/接收都共享一個中斷向量號。
 
收發中斷模式
 
萬變不離其宗之單片機串口共性問題
 
還需要考慮的是,對于 UART 硬件層面的出錯處置,以 STM32 為例,就可能有下面的錯誤可能發生:
 
●溢出錯誤
●噪聲檢測
●幀錯誤
●奇偶校驗錯誤
 
另外不同的單片機其底層硬件實現差異也不較大,比如有的硬件發送緩沖是單字節的緩沖,有的則具有 FIFO,這些在選型編程時都需要綜合考慮。
 
DMA 模式
 
DMA 發送模式而言,大致分這樣幾步:
●初始化 UART 為 DMA 發送模式,開啟 DMA 結束中斷,并寫好 DMA 傳輸結束中斷處理函數
●準備待發送報文,幀頭、幀尾、校驗處理
●將待發送報文緩沖區首地址賦值給 DMA 源地址,DMA 目標地址設置為 UART 發送寄存器,設置好發送長度。
●啟動 DMA 傳輸,剩下傳輸完成就會進入傳輸結束中斷處理函數。
●DMA 接收模式而言,大致分這樣幾步:
●初始化 UART 為 DMA 接收模式,開啟 DMA 結束中斷,并寫好 DMA 傳輸結束中斷處理函數
中斷處理函數中標記接收到幀,對于使用 RTOS 而言,還可以使用的機制是利用 RTOS 的事件機制、消息機●制進行通知有新的幀接收到了。
●對于 DMA 接收模式而言,對于變長幀的處理較為不利,所以如果想使用 DMA 接收,制定協議時盡量考慮將幀長度固定,這樣處理會方便些。
 
總結一下
 
單片機串口是一個需要好好掌握的內容,這里總結了一些個人經驗,盡量將一些個人共性的東西總結出來。至于實際實現而言,由于芯片體系差異較多,具體代碼各異。但個人認為處置的思路方法卻是基本一致。所以本文除了描述串口本身的細節而言,想表達的一個額外的觀點是:
 
對于一些技術點盡量學會將其共性的東西剝離總結出來。
總結、概括、剝離抽象是一個比較好的學習思路,不用對具體的硬件死記,萬變不離其宗。
如果本文有喜歡的朋友,后面陸續可以總結一下I2C/SPI等常用接口。
 
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請電話或者郵箱聯系小編進行處理。
 
 
推薦閱讀:
NEPCON CITY亮相:來這里探索電子制造樂園的活力與樂趣
寧波照明展配套線上商城來了!完善線上+線下展會體系
如何提高樓宇和家居自動化設計的能源效率?
多通道A/D轉換芯片MAX1230的工作原理及應用分析
復旦大學智能機器人研究院副院長張文強教授即將出席OFweek機器人在線峰會
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索

關閉

?

關閉

久久午夜影院,91精品国产调教在线观看,日韩午夜免费,伊人久久大香线蕉av不卡
好看的亚洲午夜视频在线| 欧美色图国产精品| 亚洲精品一区二区妖精| 亚洲日产av中文字幕| 国内自拍视频一区二区三区| 在线综合视频| 久久女人天堂| 日韩精品首页| 欧美黄页在线免费观看| 天堂av在线一区| 久久精品亚洲| 欧美日韩国产免费观看| 欧美一区成人| 日韩高清电影免费| 亚洲欧美日韩国产一区二区| 国内在线观看一区二区三区| 麻豆9191精品国产| 欧美一区二区三区免费看| 国产精品久久久久av电视剧| 国产精品v亚洲精品v日韩精品| 亚洲另类av| 久久99精品久久久久久园产越南 | 久久av在线| 久久中文视频| 国产精品伦理久久久久久| 成人羞羞在线观看网站| 国产在线观看91一区二区三区| 麻豆国产一区| 亚洲精品乱码日韩| 亚洲在线久久| 国产精品一二| 国精品产品一区| 国产欧美一区二区三区精品酒店| 韩日一区二区| 国产精品一区二区三区美女| 日本va欧美va瓶| 亚洲v在线看| 亚洲精品.com| 99国产精品久久久久久久成人热| 日本精品一区二区三区在线观看视频| 欧美激情精品| 国产日韩三级| 在线手机中文字幕| 欧美影院三区| 奇米狠狠一区二区三区| 日本午夜精品一区二区三区电影| 国产免费久久| 日韩在线视频精品| 国产福利一区二区三区在线播放| 国产精品综合色区在线观看| 中文字幕日韩亚洲| 日韩毛片一区| 久久久国产精品入口麻豆| 久久中文字幕二区| 亚洲综合激情在线| 国产精品婷婷| 亚洲一区成人| 喷白浆一区二区| 91成人精品| 狠狠色狠狠色综合日日tαg| 精品日韩视频| 亚洲激情婷婷| 黄色在线网站噜噜噜| 精品久久国产一区| 美女视频黄免费的久久| 欧美日韩亚洲一区二区三区在线| 夜夜嗨网站十八久久| 欧美成a人免费观看久久| 精品国产不卡一区二区| 国产精品成人一区二区网站软件| 日韩三级久久| 在线亚洲观看| 男人的天堂久久精品| 亚洲精品动态| 国产精品日韩精品在线播放| 国产精品主播在线观看| 日韩av一级片| 国产精久久久| 美女视频一区在线观看| 久久精品国产99| 91精品国产乱码久久久久久久 | 鲁大师影院一区二区三区| 肉色欧美久久久久久久免费看 | 国产精品白浆| 久久精品国产久精国产| 奇米狠狠一区二区三区| 国产日韩欧美一区二区三区| 成人一二三区| 国产精品婷婷| 777久久精品| 999久久久免费精品国产| 国产婷婷精品| 免费在线欧美黄色| 亚洲女人av| 高清在线一区| 首页国产欧美日韩丝袜| 日韩精品导航| 欧美福利一区| 精品久久久久中文字幕小说| 亚洲一区日韩| 日韩精品国产欧美| 亚洲精品一区二区在线播放∴| 日韩专区一卡二卡| 黄色国产精品| 九九久久国产| 亚洲欧美久久| 国产欧美一级| 亚洲成人免费| 丁香六月综合| 久久三级毛片| 久久一区欧美| 欧美日韩精品一区二区视频| 国产精品永久| 日本一区免费网站| 在线一区欧美| japanese国产精品| 中文另类视频| 欧美日韩xxxx| 久热re这里精品视频在线6| 日韩免费久久| 成人日韩av| 亚洲精品在线a| 亚洲在线成人| 日韩午夜黄色| 亚洲五月婷婷| 99精品在线免费在线观看| 久久影院资源站| 欧美日韩中出| 国产精品66| 国产91在线精品| 97精品在线| 国产一区二区三区黄网站| 日韩在线观看| 日本一区二区免费高清| 国产精成人品2018| 高清一区二区三区| 国产高清亚洲| 日韩一区二区中文| 精品欧美激情在线观看| 国产精品嫩草99av在线| aⅴ色国产欧美| 欧美专区18| 日本a级不卡| 久久av日韩| 亚洲精品午夜av福利久久蜜桃| 国产极品一区| 亚洲区欧美区| 亚洲一二av| 免费看一区二区三区| 高潮久久久久久久久久久久久久| 香蕉视频成人在线观看| 高清不卡亚洲| 久久激情网站| 亚洲三级观看| 精品免费在线| 香蕉成人久久| 国产视频一区二| 亚洲va中文在线播放免费| 丝袜美腿高跟呻吟高潮一区| 国产毛片精品久久| zzzwww在线看片免费| 欧美aa国产视频| 日韩在线a电影| 久久精品国产亚洲一区二区三区| 在线视频精品| 久久亚洲人体| 另类国产ts人妖高潮视频| 国产欧美日韩| 特黄特色欧美大片| 国产激情欧美| 蜜臀久久99精品久久久久久9| 精品美女久久| 欧美午夜网站| 免费不卡中文字幕在线| 欧美日本二区| 伊人影院久久| 日韩在线观看| 中文视频一区| 精品一区三区| 亚洲天堂1区| 久久精品国产一区二区| 伊人影院久久| 午夜精品成人av| 精品久久久久中文字幕小说| 蜜臀av亚洲一区中文字幕| 久久久精品网| 四虎884aa成人精品最新| 日韩电影免费网址| 樱桃视频成人在线观看| 欧美激情aⅴ一区二区三区 | 日本综合精品一区| 日韩午夜在线| 蜜桃tv一区二区三区| 911精品国产| 麻豆精品视频在线| 激情自拍一区| 一本大道色婷婷在线| 婷婷激情一区| 久久精品高清| 热三久草你在线|