STM32 HAL固件庫是Hardware Abstraction Layer的縮寫,中文名稱是:硬件抽象層。HAL庫是ST公司為STM32的MCU最新推出的抽象層嵌入式軟件,為更方便的實現跨STM32產品的最大可移植性。HAL庫的推出,可以說ST也慢慢的拋棄了原來的標準固件庫,這也使得很多老用戶不滿。但是HAL庫推出的同時,也加入了很多第三方的中間件,有RTOS,USB,TCP / IP和圖形等等。和標準庫對比起來,STM32的HAL庫更加的抽象,ST最終的目的是要實現在STM32系列MCU之間無縫移植,甚至在其他MCU也能實現快速移植。
上傳時間: 2022-07-08
上傳用戶:
本文檔介紹如何使用 GNU 語言工具來編寫 16 位單片機 / 數字信號控制器應用程序代 碼。內容安排如下: ? 第 1 章 “編譯器概述”——介紹編譯器、開發工具和功能集。 ? 第 2 章“通用 C 接口”——介紹可用于增強 MPLAB XC 編譯器之間代碼可移植性 的通用 C 接口。 ? 第 3 章“操作指南”——列出了一些具體操作方面的問題和簡要說明,以及指向手 冊中相關章節的鏈接。 ? 第 4 章“XC16 工具鏈和 MPLAB X IDE”——說明關于如何通過 MPLAB X IDE 設 置和使用編譯器及相關工具的基礎知識。 ? 第 5 章 “編譯器命令行驅動程序”——介紹如何從命令行中使用編譯器。 ? 第 6 章“與器件相關的特性”——介紹編譯器頭文件和寄存器定義文件,以及如何 用于 SFR。 ? 第 7 章 “MPLAB XC16 和 ANSI C 之間的差別”——介紹編譯器語法支持的 C 語 言與標準 ANSI-89 C 之間的差別。 ? 第8章“支持的數據類型和變量”——介紹編譯器的整型、浮點型和指針數據類型。第 9 章 “定點算術支持”——說明編譯器中的定點算術支持。 ? 第 10 章 “存儲器分配和訪問”——介紹編譯器運行時模型,包括關于段、初始 化、存儲模型、軟件堆棧和更多方面的信息。 ? 第 11 章 “操作符和語句”——介紹操作符和語句。 ? 第 12 章 “寄存器使用”——說明如何訪問和使用 SFR。 ? 第 13 章 “函數”——詳細介紹可用的函數。 ? 第 14 章 “中斷”——介紹如何使用中斷。 ? 第 15 章 “main、運行時啟動和復位”——介紹 C 代碼的重要元素。 ? 第 16 章 “混合使用 C 代碼和匯編代碼”——提供關于編譯器與 16 位匯編語言模 塊配合使用的指導。 ? 第 17 章 “庫程序”——說明如何使用庫。 ? 第 18 章 “優化”——介紹優化選項。 ? 第 19 章 “預處理”——詳細介紹預處理操作。 ? 第 20 章 “鏈接程序”——說明鏈接如何工作。
標簽: mplab xc16 編譯器
上傳時間: 2022-07-16
上傳用戶:
物聯網iot完整”的Paho MQTT C客戶端庫是用Linux和Windows編寫的。它假設存在用于網絡(套接字),線程和內存分配的Posix或Windows庫。嵌入式庫旨在具有以下特征:使用非常有限的資源 - 挑選所需的組件不依賴于任何特定的庫進行網絡,線程或內存管理ANSI標準C,最高可移植性,最低級別C和/或C ++中的可選更高層
上傳時間: 2022-07-20
上傳用戶:
本壓縮包上傳的源程序使用C語言編寫,可以進行二次開發,可移植性強!ADC(analog to digital converter)即模數轉換器,它可以將模擬信號轉換為數字信號。按照其轉換原理主要分為逐次逼近型、雙積分型、電壓頻率轉換型三種。STM32F1 的 ADC 就是逐次逼近型的模擬數字轉換器。STM32F103 系列一般都有 3 個 ADC,這些 ADC 可以獨立使用,也可以使用雙重/三重模式(提高采樣率)。STM32F1 的 ADC 是 12 位逐次逼近型的模擬數字轉換器。它具有多達 18 個復用通道,可測量來自 16 個外部源、2 個內部信號源。 這些通道的 A/D 轉換可以單次、連續、掃描或間斷模式執行。ADC 的結果可以左對齊或右對齊方式存儲在 16 位數據寄存器中。ADC 具有模擬看門狗特性,允許應用程序檢測輸入電壓是否超出用戶定義的閥值上限或者下限。
上傳時間: 2022-07-25
上傳用戶:zhanglei193
<C++代碼設計和重用>本書全面展示如何使用C++編寫可重用的代碼,從而提高程序員的開發效率。 全書分為12章。包括重用性基本概念、類設計、擴展性、效率、錯誤、沖突、兼容性。繼承、移植性、程序庫等和重用相關的諸多話題。每一章的最后,通過總結和練習幫助你鞏固概念、加深理解,參考文獻和相關資料為你指明了深入學習的方向。 本書適合有一定C++經驗的程序員閱讀,也可供以提高代碼重用性為專門學習方向的讀者參考。
上傳時間: 2014-01-20
上傳用戶:D&L37
通用i2c通訊協議可直接應用在單片機開發中,移植性很好
上傳時間: 2016-07-27
上傳用戶:三人用菜
通用i2c通訊協議針對24c02可直接應用在單片機開發中,移植性很好
上傳時間: 2014-01-20
上傳用戶:sdq_123
隨著嵌入式技術的不斷發展,嵌入式芯片的不斷革新,嵌入式操作系統也逐漸成為嵌人式系統中不可或缺的部分。嵌入式操作系統的運用不僅能夠更有效、更合理的利用現有的CPU的資源,而且能夠簡化應用軟件的設計,縮短應用的開發周期,保證系統的可靠性和實時性。本文主要研究基于STM32芯片的硬件平臺,由于RAM資源的限制,只能使用占用資源少的小型操作系統,常見的主要有uC/os-Il eCos,FreeRTOS等,與uC/Os-1 eCcos等商業收費的操作系統不同,FreeRTOS操作系統是一個源碼公開的免費實時操作系統,能夠很好地移植于各種體系結構的微型處理器。1 FreeRTOS操作系統的體系結構作為一款輕量級操作系統,FreeRTOS提供了任務管理、時間管理、信號量、消息隊列、內存管理、記錄等功能,并且具有源碼公開、可裁減、可移植、調度策略靈活的特點[1-2,。本文主要從任務調度機制、系統時間管理機制、內存分配機制、任務通信與同步機制介紹操作系統的體系結構,并針對時下流行的C/OS-1系統進行類
上傳時間: 2022-06-20
上傳用戶:
OpencV是用來實現計算機視覺相關技術的開放源碼工作庫,是計算機視覺、圖像處理、模式識別、計算機圖形學、信號處理、視頻監控、科學可視化等相關從業人員的好工具。本書介紹了大約200多個典型的技術問題,覆蓋了基于OpenCV基礎編程的主要內容,利用大量生動有趣的編程案例和編程技巧,從解決問題和答疑解惑入手,以因特網上最新資料為藍本,深入淺出地說明了OpenCV中最典型和用途最廣的程序設計方法。全書結構清晰、合理,范例實用、豐富,理論結合實踐,即使讀者只是略懂計算機視覺原理,也能人手對相關理論方法直接進行編碼實現。 "基于OPENCV的計算機視覺技術實現"的圖書目錄…… 前言 第一章 使用OpenCV實現計算機視覺技術 1.1 計算機視覺技術 1.2 什么是OpenCV 1.3 基于OpenCV庫的編程方法 本章小結 第二章 OpenCV的編程環境 2.1 OpenCV環境介紹 2.2 OpenCV的體系結構 2.3 OpenCV實例演示 本章小結 第三章 OpenCV編程風格 3.1 命名約定 3.2 結構 3.3 函數接口設計 3.4 函數實現 3.5 代碼布局 3.6 移植性 3.7 文件操作 3.8 文檔編寫 本章小結 第四章 數據結構 4.1 基本數據結構 4.2 數組有關的操作 4.3 動態結構 本章小結 第五章 數據交互 5.1 繪圖函數 5.2 文件存儲 5.3 運行時類型信息和通用函數 5.4 錯誤處理函數 5.5 系統函數 本章小結 第六章 圖像處理 6.1 邊緣檢測 6.2 直方圖 6.3 Hough變換 6.4 幾何變換 6.5 形態學 本章小結 第七章 結構與識別 7.1 輪廓處理函數 7.2 計算幾何 7.3 平面劃分 7.4 目標檢測函數 7.5 生成與控制貝塞爾曲線 7.6 用OpenCV進行人臉檢測 本章小結 第八章 圖形界面(HighGUI) 8.1 讀取和保存圖像 8.2 OpenCV中的實用系統函數 本章小結 第九章 視頻處理(CvCAM) 9.1 使用HighGUI對視頻進行讀寫處理 9.2 CvCam對攝像頭和視頻流的使用 本章小結 第十章 OpenCV附加庫第一部分 10.1 附加庫介紹 10.2 形態學(morhing functions) 本章小結 第十一章 OpenCV附加庫第二部分——隱馬爾可夫模型 11.1 隱馬爾可夫模型概述 11.2 隱馬爾可夫模型中的基本結構與函數介紹 11.3 隱馬爾可夫模型中的函數介紹 11.4 人臉識別工具 本章小結 第十二章 核心庫綜合例程 12.1 檢測黑白格標定板內指定矩形區域內的角點 12.2 解線性標定方程組程序 本章小結 第十三章 運動與跟蹤 13.1 圖像統計的累積函數 13.2 運動模板函數 13.3 對象跟蹤 13.4 光流 13.5 預估器 13.6 Kalman濾波器跟蹤示例 13.7 用Snake方法檢測可變形體的輪廓 13.8 運動目標跟蹤與檢測 本章小結 第十四章 立體視覺第一部分——照相機定標 14.1 坐標系介紹 14.2 透視投影矩陣的獲得 14.3 攝像機參數的獲取 14.4 徑向畸變的校正 14.5 使用OpenCV及CVUT進行攝像機定標 14.6 OpenCV中的定標函數 14.7 CVUT介紹 本章小結 第十五章 立體視覺第二部分——三維重建 15.1 極線幾何 15.2 特征點匹配 15.3 三維重建 15.4 OpenCV中相關函數介紹 本章小結 第十六章 立體視覺第三部分——三維重建算法 16.1 圖像校正 16.2 已校正圖像的快速三維重建 16.3 Birchfield算法 16.4 OpenCV中相關函數介紹 本章小結 第十七章 立體視覺第四部分——立體視覺實例 17.1 圖像校正實例代碼 17.2 基于窗口的稀疏點匹配及三維重建之一 17.3 基于窗口的稀疏點匹配及三維重建之二 17.4 Birchfield算法的OpenCV實現 本章小結 第十八章 常見問題解疑 18.1 安裝與編譯出錯解決方法 18.2 OpenCV庫基本技術問題 18.3 OpenCV在Linux下的相關問題 18.4 OpenCV庫中的陷阱和bug
上傳時間: 2013-07-18
上傳用戶:huyiming139
現場可編程門陣列(FPGA,Field Programmable Gate Array)是可編程邏輯器件的一種,它的出現是隨著微電子技術的發展,設計與制造集成電路的任務已不完全由半導體廠商來獨立承擔。系統設計師們更愿意自己設計專用集成電路(ASIC,Application Specific Integrated Circuit).芯片,而且希望ASIC的設計周期盡可能短,最好是在實驗室里就能設計出合適的ASIC芯片,并且立即投入實際應用之中。現在,FPGA已廣泛地運用于通信領域、消費類電子和車用電子。 本文中涉及的I/O端口模塊是FPGA中最主要的幾個大模塊之一,它的主要作用是提供封裝引腳到CLB之間的接口,將外部信號引入FPGA內部進行邏輯功能的實現并把結果輸出給外部電路,并且根據需要可以進行配置來支持多種不同的接口標準。FPGA允許使用者通過不同編程來配置實現各種邏輯功能,在IO端口中它可以通過選擇配置方式來兼容不同信號標準的I/O緩沖器電路??傮w而言,可選的I/O資源的特性包括:IO標準的選擇、輸出驅動能力的編程控制、擺率選擇、輸入延遲和維持時間控制等。 本文是關于FPGA中多標準兼容可編程輸入輸出電路(Input/Output Block)的設計和實現,該課題是成都華微電子系統有限公司FPGA大項目中的一子項,目的為在更新的工藝水平上設計出能夠兼容單端標準的I/O電路模塊;同時針對以前設計的I/O模塊不支持雙端標準的缺點,要求新的電路模塊中擴展出雙端標準的部分。文中以低壓雙端差分標準(LVDS)為代表構建雙端標準收發轉換電路,與單端標準比較,LVDS具有很多優點: (1)LVDS傳輸的信號擺幅小,從而功耗低,一般差分線上電流不超過4mA,負載阻抗為100Ω。這一特征使它適合做并行數據傳輸。 (2)LVDS信號擺幅小,從而使得該結構可以在2.5V的低電壓下工作。 (3)LVDS輸入單端信號電壓可以從0V到2.4V變化,單端信號擺幅為400mV,這樣允許輸入共模電壓從0.2V到2.2V范圍內變化,也就是說LVDS允許收發兩端地電勢有±1V的落差。 本文采用0.18μm1.8V/3.3V混合工藝,輔助Xilinx公司FPGA開發軟件ISE,設計完成了可以用于Virtex系列各低端型號FPGA的IOB結構,它有靈活的可配置性和出色的適應能力,能支持大量的I/O標準,其中包括單端標準,也包括雙端標準如LVDS等。它具有適應性的優點、可選的特性和考慮到被文件描述的硬件結構特征,這些特點可以改進和簡化系統級的設計,為最終的產品設計和生產打下基礎。設計中對包括20種IO標準在內的各電器參數按照用戶手冊描述進行仿真驗證,性能參數已達到預期標準。
上傳時間: 2013-05-15
上傳用戶:shawvi