• <table id="4yyaw"><kbd id="4yyaw"></kbd></table>
  • <td id="4yyaw"></td>

  • 嵌入式硬件通信接口:使用RingBuffer處理數據(一)

    事實上UART只是一個傳輸層的協議。在實際的項目使用中,往往是根據項目的具體需求,在以UART作為物理傳輸接口的通信方式上,自定義私有的應用層協議,這個應用層協議本質就是數據協議,并且對協議的解析和實現,都需要MCU對數據進行緩存、計算、校驗、分析等操作。說到緩存,在這先賣個關子……估計大部分人首先想到的是,代碼里定義個全局變量的緩存數組,然后從串口的接收寄存器讀出數據,并逐個字節地寫到緩存數組里,接完一包數據,執行數據分析……這個想法是對的,邏輯是通的,但是……多少字節是完整一包數據?如果是中斷接收,第一包收完還未來得及完全處理,有數據進來觸發中斷,又被寫入緩存數組覆蓋舊數據呢?針對這問題,也許有人會想到,多定義幾個緩存數組,數據包寫滿一個緩存數組則開始寫到另一緩存數組,或者分析處理前先拷貝出來,再或者分析處理前關串口接收……說來說去,這樣子倒騰數據,一包一包的拷來移去的,太沒效率了,還想關中斷,這樣通信效率也太低了!針對這里......閱讀全文

    嵌入式硬件通信接口:使用RingBuffer處理數據(一)

    事實上UART只是一個傳輸層的協議。在實際的項目使用中,往往是根據項目的具體需求,在以UART作為物理傳輸接口的通信方式上,自定義私有的應用層協議,這個應用層協議本質就是數據協議,并且對協議的解析和實現,都需要MCU對數據進行緩存、計算、校驗、分析等操作。說到緩存,在這先賣個關子……估計大部分人首先

    嵌入式硬件通信接口:使用RingBuffer處理數據(二)

    目測該項目確實有些久遠了,最后一次commit已是兩年前的2016年5月了。先不管,好酒也是有年份的!下載到本地,打開項目文件夾,查看C文件和H文件。快速瀏覽ringbuffer.c文件中對外封裝的各個函數,主要有:循環緩沖區初始化增加一個數據元素增加多個數據元素讀取一個元素讀取多個元素查看

    嵌入式硬件通信接口協議SPI三:模擬接口應用(一)

    簡單完成模擬SPI各個接口的實現后,僅僅利用示波器抓取信號的時序當然是不夠的。雖然單片機作為SPI主機輸出數據時的信號很容易抓取,但是從機發出的數據(即主機讀取MISO信號時序),還要找個SPI接口的外設器件,這樣主機發出、從機反饋。比如SPI-FLASH,此處找來一片型號為W25Q16的F

    嵌入式硬件通信接口協議SPI:協議基礎(一)

    本節繼續講嵌入式硬件通信接口協議中的另外一個串行通信接口-SPI。相比于UART串口協議,SPI又有著其獨特之處。簡介SPI(全稱SerialPeripheral Interface),串行外設接口。SPI是串行外設接口(SerialPeripheral Interface)的縮寫。

    嵌入式硬件通信接口協議IIC一:協議基礎(一)

    本節繼續講嵌入式硬件通信接口協議中的又一個串行通信接口-IIC。相比于UART串口協議和SPI串行外設接口協議,這個IIC又有其獨特之處。簡介IIC(Inter-Integrated Circuit),集成電路總線。IIC 即Inter-IntegratedCircuit(集成電路總

    嵌入式硬件通信接口協議IIC一:協議基礎(三)

    AT24C1024B存儲芯片的時鐘要求:綜上所述,IIC總線接口,屬于兩線、多主多從、半雙工通信接口協議。熟悉兩根信號線的時序圖,基本上對IIC的了解就差不多了。關于IIC接口的分層架構設計,敬請期待后續更新。★★★★★推薦文章《【嵌入式編程】函數返回類型設計》《【嵌入式編程】平臺大小端存儲差異解決

    嵌入式硬件通信接口協議IIC一:協議基礎(二)

    關于理解和記憶,推薦分組記憶:SCL高電平時,SDA拉低開始,SDA拉高結束;SCL高電平時,接收方采樣SDA管腳電平;SCL低電平時,發送方改變SDA管腳電平;應答位,SDA低電平表示ACK,SDA高電平表示NACK。以上就是IIC在通信過程中,可能出現的信號時序狀態特征。如果要和SPI接口對比,

    嵌入式硬件通信接口協議SPI三:模擬接口應用(二)

    驗證模擬SPI接口的正確性,通過讀取SPI-FLASH芯片的廠商ID,校驗讀到的數據與手冊是否一致。FLASH功能模塊屬于模塊庫層,介于應用層和驅動層之間。因此對SPI-FLASH模塊的源碼封裝成lib層。創建源碼文件:dclib_spiflash.cdclib_spiflash.h同樣的也需要對該

    嵌入式硬件通信接口協議SPI:協議基礎(二)

    信號時序四線SPI接口的時序一般的總是先拉低從機選擇信號線SS,然后輸出SCLK,帶著數據MOSI,此時MISO為高阻態。大致如下如:一般有SPI接口的器件,在Spec上都會有對應的時序圖,這里分別截取SPI接口FLASH型號為GD25Q32C、SPI接口OLED型號為QG-2832TLBF

    嵌入式硬件通信接口協議SPI:協議基礎(三)

    時鐘速率速率選擇定義了時鐘信號線在數據傳輸是的翻轉速率,這體現到每個芯片定義的接口時序圖中,即可承受的速率范圍,如果主機設的速率太快,而從機響應過慢會導致通信失敗。數據bit位大小端選擇數據的發送優先bit可配置,從上篇的UART協議可以知道,UART規定了數據優先發bit0,而這個SPI是

    嵌入式硬件通信接口協議UART:快速使用串口及應用2

    三、調試-輸出開發調試過程中,輸出的內容基本上就是想查看的變量值、代碼的執行位置跟蹤、算法或者某些運算的結果等等。這些輸出,僅用于調試階段,而在人機調試過程中,使用計算機的串口助手軟件進行交互,則輸出的數據應該便于識讀和判斷。1. ? C庫函數printf格式輸出重定向到串口輸出輸出串口數據過程中,

    嵌入式硬件通信接口協議UART:快速使用串口及應用3

    2. ? ANSI C標準中有幾個標準預定義宏:__LINE__:源代碼中的行號(字符串形式)__FILE__:當前*.c源碼文件的文件名(字符串形式)__DATE__:編譯日期(字符串形式)__TIME__:編譯時間(字符串形式)__STDC__:當要求程序嚴格遵循ANSI C標準時該標識被賦值為

    嵌入式硬件通信接口協議UART:快速使用串口及應用1

    一、串口啟用流程開講前,先找幾款芯片的串口demo程序瞄一眼。依次有STM32的V3.5標準庫、nRF52832的官方demo以及51核的STC15系列單片機的官方DEMO。從以上的部分demo例程來看,并結文章《嵌入式硬件通信接口協議-UART(一)協議基礎》的介紹,在啟用串口的時候,需要配置的那

    嵌入式硬件通信接口協議UART:快速使用串口及應用4

    五、初見數據協議解析如果是簡單幾個字符的指令,可以用上述那樣簡單判斷,但是在稍微中等級別的工程項目中,用那樣的方式都已經很不便于處理和擴展了。比如有一串數據,并且長度不確定,將會超過10個字節、20個字節、100個字節甚至更多,那么這時候就必須使用協議解析的方式。通常的,數據協議都會有協議頭、長度、

    嵌入式硬件通信接口協議IIC二:分層架構設計模擬接口3

    應答的目的,就是“接收方”告知“發送方”,我已正常收到剛剛發來的數據。等待應答ACK既然是應答,就有兩向性:IIC從機應答IIC主機;IIC主機應答IIC從機。上圖的應答ACK/NACK都是IIC主機主動輸出的,是用來告知從機“我主機已正常收到”。而IIC從機告知主機的應答ACK,這里要用等

    嵌入式硬件通信接口協議IIC二:分層架構設計模擬接口2

    關于分層設計的思想,在之前的一篇文章中《嵌入式硬件通信接口協議-SPI(二)分層架構設計模擬接口》介紹SPI接口設計時,已經做了詳細的設計過程講解,在此就不贅述了。現在參考SPI的BSP層設計思路,用同樣的方法來設計IIC接口的BSP層代碼模塊。本文將要講解和實現的內容主要分為兩個部分:代碼

    嵌入式硬件通信接口協議IIC二:分層架構設計模擬接口1

    關于分層設計的思想,在之前的一篇文章中《嵌入式硬件通信接口協議-SPI(二)分層架構設計模擬接口》介紹SPI接口設計時,已經做了詳細的設計過程講解,在此就不贅述了。現在參考SPI的BSP層設計思路,用同樣的方法來設計IIC接口的BSP層代碼模塊。本文將要講解和實現的內容主要分為兩個部分:代碼

    嵌入式硬件通信接口協議:UART不同電氣規范下的標準1

    在上一篇《嵌入式硬件通信接口協議-UART(一)協議基礎》中,簡單而細致描述了UART的各個配置項以及通信過程的信號時序,此篇將繼續介紹UART接口在不一樣的電氣特性下,所使用的一些接口規范。一、 ? ?簡介實際上UART只是對信號時序進行定義,而未定義其電氣特性。在不一樣的應用場景下,不同

    嵌入式硬件通信接口協議:UART不同電氣規范下的標準2

    而負邏輯電平的RS232的信號電壓不僅恰好相反,而且電壓大小也不一樣。在MAX232芯片上,邏輯“0”對應的是+10V,邏輯“1”對應的是-10V。同時RS232還定義了機械接口特性,常見的有DB-9接口和DB-25接口,其接口定義如下表:針腳信號定義作用DB-91DCD載波檢測Data Carri

    嵌入式硬件通信接口協議:UART不同電氣規范下的標準3

    (三) ? ? ? ? ?RS-422RS-422標準全稱是“平衡電壓數字接口電路的電氣特性”,該協議制定了接口電路的電氣特性。除了信號線的電氣特性,其他規范基本都是沿用RS232的規范。RS-422的信號線采用的是差分傳輸方式,即原來的TxD、RxD信號線,此時分別改用兩根線來完成,即TxD+和T

    嵌入式光譜

      德國tec5公司新開發的嵌入式光譜儀平臺tecSaaS(tec5 Spectrometer as a Sensor),基于UV-VIS-NIR光譜技術,是一款可以不依賴于PC而獨立工作的、模塊化的光譜測試平臺,可以直接集成到可移動式檢測設備或工廠的生產線中,以實現高度智能化,靈活多樣化和高度自動

    嵌入式光譜

      德國tec5公司新開發的嵌入式光譜儀平臺tecSaaS(tec5 Spectrometer as a Sensor),基于UV-VIS-NIR光譜技術,是一款可以不依賴于PC而獨立工作的、模塊化的光譜測試平臺,可以直接集成到可移動式檢測設備或工廠的生產線中,以實現高度智能化,靈活多樣化和高度自動

    嵌入式光譜

    德國tec5公司新開發的嵌入式光譜儀平臺tecSaaS(tec5 Spectrometer as a Sensor),基于UV-VIS-NIR光譜技術,是一款可以不依賴于PC而獨立工作的、模塊化的光譜測試平臺,可以直接集成到可移動式檢測設備或工廠的生產線中,以實現高度智能化,靈活多樣化和高度自動

    AVR單片機入門一:單片機嵌入式系統的結構與應用

      隨著物聯網與工業4.0的高速發展,單片機以其小體積、低成本、易操控的特性,在工業應用與智能控制領域越來越彰顯出其優勢,可以預見未來幾年單片機系統必將得到越來越廣泛的應用,下面OFweek電子工程網就為大家帶來在單片機中極具優勢的AVR單片機的入門教程。  單片機,全名單片機微控制器,單片微型計算

    基于WinUSB實現的嵌入式USB免驅設備通信方式(一)

    前言USB接口作為PC上最流行和通用的接口,具備可連接多種類型的設備,連接簡單,即插即用,支持熱插撥,多數應用場景下不需要提供獨立的電源,高傳輸速率,高可靠性等特點,被越來越多的產品作為首選接口作為接入PC的連接方式。為了簡化USB設備的開發和接入到PC系統,微軟開發了WinUSB,可以將Winus

    在做嵌入式硬件設計中,這幾點需要關注

    嵌入式設計是個龐大的工程,今天就說說硬件電路設計方面的幾個注意事項,首先,咱們了解下嵌入式的硬件構架。我們知道,CPU是這個系統的靈魂,所有的外圍配置都與其相關聯,這也突出了嵌入式設計的一個特點硬件可剪裁。在做嵌入式硬件設計中,以下幾點需要關注。第一、電源確定電源對于嵌入式系統中的作用可以看

    嵌入式軟件系統測試中的仿真系統結構設計

       1 嵌入式系統概述    嵌入式系統是以計算機技術為基礎,以應用為中心,并且軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。    嵌入式軟件是基于嵌入式系統設計的軟件,是計算機軟件的一種,同樣由程序及文檔組成,可細分成系統軟件、支撐軟件、應用軟件三類。

    拉線位移傳感器原理、設計方案和接線圖(二)

    2、硬件接口電路設計數據處理單元由磁敏角度感應器、微處理器單元、通信接口以及輸出模塊,具體的功能框如圖2所示。通過分析圖2,磁敏角度感應器選用MLX90316,它將拉線位移所導致的磁鐵磁場轉動的角度轉換為磁敏角度。微處理器單元選用32位嵌入式ARM用于對接收到的磁敏角度數據進行處理,完成磁敏

    IESC-2025深圳國際嵌入式系統展覽會

    IESC 2025深圳國際嵌入式系統展覽會International Embedded Systems Exhibition2025年4月9-11日? 深圳會展中心大會主題:"創新引領,智嵌未來"組委會:向先生 133 8158 5596(同微) E-mail:sales1expo@126.com展

    揭秘ARM架構芯片的軟硬件組成

      ARM是微處理器行業的一家知名企業,設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟件,適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。  2016年7月27日,公司發財報顯示,第二季度稅前利潤為1.301億英鎊(約合1.71億美元),同比增長5%。在

  • <table id="4yyaw"><kbd id="4yyaw"></kbd></table>
  • <td id="4yyaw"></td>
  • 调性视频