<noscript id="jftie"></noscript>
    <style id="jftie"><mark id="jftie"><dfn id="jftie"></dfn></mark></style>
  1. <span id="jftie"></span>
    • 国产成人精品久久一区二区,韩国精品久久久久久无码,国产精品国产高清国产av,欧美99久久无码一区人妻a片,亚洲高清码在线精品av,午夜人妻久久久久久久久,伊人热热久久原色播放www ,亚洲女教师丝祙在线播放
      你的位置:首頁 > 互連技術 > 正文

      嵌入式串口同步幀數方法解析,怎樣學好嵌入式技術?

      發布時間:2017-06-20 責任編輯:susan

      【導讀】本文給出逐次比較、基于FIFO隊列和基于狀態機的3種幀同步方法。通過測試、分析和比較得出,基于有限狀態機的方法是嵌入式系統串口通信中很有效的幀同步方法,同時也是一種很不錯的串口通信程序設計結構。
       
      嵌入式串口同步幀數方法解析
       
      串口通信是日前單片機和DSP等嵌入式系統之間,以及嵌入式系統與PC機或無線模塊之間的一種非常重要且普遍使用的通信方式。在嵌入式系統的硬件結構中,通常只有一個8位或16位的CPU,不僅要完成主流程的工作,同時還要處理隨時發生的各種中斷,因而嵌入式系統中的串口通信程序設計與PC機有很大的不同。若嵌入式系統中.中斷服務子程序在系統運行過程中占用了較多的時間,就有可能在中斷眼務子程序正運行時,又產生一個同類型或其他類型的中斷,從而造成主程序得不到執行或后續中斷數據丟失。所以,嵌入式系統中的串口通信雖然看似簡單,但其中仍有許多問題值得研究,例如串口通信過程中的幀同步問題。本文針對該問題給出了逐次比較、基于FIFO隊列和基于狀態機的3種幀同步方法。通過測試、分析和比較得出,基于有限狀態機的方法是嵌入式系統串口通信中很有效的幀同步方法,同時也是一種很不錯的串口通信程序設計結構。
       
       
      1.串口通信的數據幀結構
       
      現代工業控制,往往需要由多個獨立的控制模塊來共同完成。它們之間通過串口通信完成復雜的控制過程,必須在通信過程中加入必要的通信協議,以提高系統的可靠性和穩定性;而要完成特定的通信協議,就得有一定的同步機制。下面介紹一下簡化的串口通信數據幀結構,以便分析說明嵌入式系統串口通信過程中的幀同步方法。
       
      假定串口發送的數據幀結構為:
       
       
      其中:包頭用于同步,一般是一個或多個ASCII字符,本文中假定數據幀同步頭有2字節(0xAA、0x55);包長表示數據包中除去包頭和包長的字節數,一般用約定好的幾個字節表示;類型為通信協議里規定的命令類型;數據為應發送的主要信息;校驗通常采用單字節“異或”的方法。
       
      2.串口通信中的幀同步方法

      2.1 逐次比較的幀同步方法
       
      首先等待串口數據,將接收到的第1個字節數據與約定好的包頭信息的第1個字節進行比較。如果不正確,則等待新字節,直到接收的數據與包頭信息的第1個字節相同。第1個字節比較正確以后,將收到的第2個字節與包頭信息的第2個字節進行比較。如果仍然正確,則說明串口接收已經同步,可以開始接收數據幀中的數據部分;否則,重新開始同步過程。其程序流程如圖1所示。
       
       
      此種方法代碼量小,編程簡單,一般用于在主程序中以非中斷方式接收串口數據、實時性很差、數據幀較短的場合。但是,在串口速度過快且包頭字節數比較多的情況下,串口實現同步花費的時間很長或很難實現同步。例如,串口接收到序列Ox0O OxAA0xAA 0x55…,當遇到第一個“0xAA”時,該方法認為第1個字節正確開始比較第2個同步頭。第2個字節仍是“0xAA”而不是“0x55”,所以必須等待新的字節重新開始比較第1個同步頭。而緊隨其后的是“0x55”,因而,此時包頭的第1個字節也沒有同步上。事實上,“0x00 OxAA”是干擾字節,“0xAA 0x55”才是通信協議中的同步頭。
       
      怎樣學好嵌入式技術?
       
      隨著現代社會信息化進程的加快,嵌入式系統被廣泛的地應用于軍事、家用、工業、商業、辦公、醫療等社會各個方面,表現出很強的投資價值。從國際范圍來看,作為數字化電子信息產品核心的嵌入式系統目前其硬件和軟件開發工具市場已經突破2000億美元,嵌入式系統帶來的全球工業年產值更是達到了一萬億美元,隨著全球經濟的持續增長以及信息化的加速發展,嵌入式系統市場必將進一步增長。
       
      根據中國物聯網校企聯盟的建議,學習嵌入式系統的必備條件與學習方法如下:
       
       
      1、C開發經驗
       
      條件:Linux
       
      方法:主要是掌握ANSI C編程(不包括gtk,qt等圖形可視化開發)
       
      2、網絡、操作系統、體系結構
       
      條件:Linux,各種書,算法、例程。
       
      方法:通過C編程實現簡單的網絡等知識的算法和過程。
       
      3、嵌入式系統概念
       
      條件:各個嵌入式網站,討論組,書籍
       
      方法:少提問,多留給自己思考的空間。
       
      4、嵌入式開發實踐
       
      條件:各種嵌入式系統開發工具的demo版,包括編譯器,仿真器。
       
      方法:一個是基于MCU/MDSP的嵌入式系統開發,另一個是像Palm OS,WinCE,uC/OS II等RTOS下的應用軟件開發。第一個是針對硬件開發而言的,而第二個則是針對軟件開發而言的。
       
       
      5、硬件開發
       
      條件:各種嵌入式芯片、存儲器等電路器件,protel99等電路設計軟件,電路板制作。
       
      方法:這時候該有開發條件了,最起碼是51系列,這個比較方便。電路的設計內容較多,不過看起來嚇人,實際上比軟件要簡單的多。只要下功夫,實踐會告訴你一切。
      要采購工具么,點這里了解一下價格!
      特別推薦
      技術文章更多>>
      技術白皮書下載更多>>
      熱門搜索
      ?

      關閉

      ?

      關閉

      主站蜘蛛池模板: 精品国产亚洲一区二区三区在线观看| 久久久橹橹橹久久久久高清| 一区二区三区高清av专区| 日韩高清国产一区在线| 免费午夜无码片在线观看影院| 人人妻人人澡人人爽超污| 2020国产成人精品影视| 国产99久久亚洲综合精品西瓜tv | 国产国语熟妇视频在线观看| 色诱久久久久综合网ywww| 亚洲色无码一区二区三区| 亚洲一区二区无码偷拍| 激情综合色五月丁香六月亚洲 | 久久香蕉国产线看观看怡红院妓院| 人人玩人人添人人澡| 亚洲成a v人片在线观看| 久久国产精品成人免费| 狼友网精品视频在线观看| 人妻去按摩店被黑人按中出| 国产女精品视频网站免费蜜芽| 精品国产一区二区av麻豆不卡| aaa欧美色吧激情视频| 亚洲成年看片在线观看| 日本少妇高潮喷水视频| 欧美精品亚洲精品日韩传电影| 亚洲熟女乱色综合亚洲小说| 人妻少妇乱孑伦无码专区蜜柚| 鲁鲁网亚洲站内射污| 黄页网站18以下勿看| 亚洲人成人77777网站| 免费裸体无遮挡黄网站免费看| 国产精品污www一区二区三区| 九九热久久只有精品2| 久久不见久久见免费影院| 欧美激情乱人伦| 欧美69久成人做爰视频| 国产成人综合亚洲亚洲国产第一页| 大狠狠大臿蕉香蕉大视频| 久久99国产精品二区| 中文字幕无码肉感爆乳在线| 国产女精品视频网站免费蜜芽|