![](/c49/99/10973938.jpg)
出版社:中國電力出版社 ISBN:9787512326712 版次:1 商品編碼:10973938 品牌:中國電力出版社(zhongguodianlichubanshe) 包裝:平裝 開本:16開 出版時間:2012-04-01 用紙:膠版紙 頁數:432 作者:廖義奎
" 內容簡介 《Cortex-M3之STM32嵌入式繫統設計》介紹了以ARMCortex-M3為內核的STM32F103增強型微控制器的特點,深入講解其硬件和軟件設計方法。本書分為STM32基礎開發、STM32深入開發以及STM32高級開發三部分。基礎開發部分介紹了嵌入式繫統概述、STM32最小繫統設計、STM32程序設計入門、GPIO應用、GCC編譯器的安裝與應用、STM32外部中斷、面向對像設計的本質、USART通信等內容;深入開發部分介紹了深入STM32的工作原理、定時器與日歷、ADC應用、DMA應用、備份寄存器與看門狗程序、TFT驅動與顯示、觸摸屏驅動、SD卡驅動與FAT文件繫統等;在高級開發部分介紹?C/OS-II在STM32上的移植、漢字與圖形圖像顯示、攝像頭驅動與圖像采集、以太網及Web遠程控制繫統設計等內容。 本書配套光盤中附有所有章節的源程序。本書適合於嵌入式開發人員作為開發參考資料,也適合於高校師生作為單片機、嵌入式繫統課程的教材和教學參考書。 目錄 前言 第1章 概述 1.1 嵌入式繫統定義 1.2 嵌入式繫統的發展 1.2.1 從單片機到嵌入式繫統 1.2.2 從芯片級設計到繫統級設計 1.2.3 從面向器件到面向任務的設計 1.2.4 從單處理器設計到多處理器設計 1.3 嵌入式繫統的應用 1.4 ARM繫列嵌入式繫統處理器 1.4.1 ARM處理器分類 1.4.2 ARM Cortex處理器 1.4.3 ARM Coretx-M3處理器 1.4.4 ARM Cortex-A8處理器 1.5 從8/16位處理器到ARM Cortex-M3/M 1.6 常見的Cortex-M0/M3繫列MCU
第2章 STM32最小繫統設計 2.1 STM32F103C最小繫統設計方案 2.2 最小繫統設計的要素 2.2.1 STM32外部晶振 2.2.2 復位電路 2.2.3 LED、Key及BOOT跳線 2.2.4 穩壓電源及ISP下載口 2.2.5 IO端口 2.3 PCB圖設計
第3章 STM32程序設計入門 3.1 STM32入門之Hello World程序 3.1.1 開發環境 3.1.2 編寫STM32的C程序 3.1.3 用GCC編譯stm32程序 3.1.4 STM32程序下載 3.1.5 在Obtain_Studio中編譯Hello World程序 3.2 不同開發板的Hello World程序 3.3 基於STM32固件庫的入門程序 3.3.1 STM32固件庫 3.3.2 STM32固件庫外設的初始化和設置 3.3.3 基於STM32固件庫的程序設計 3.4 基於STM32固件庫的Hello World程序代碼分析
第4章 GPIO應用 4.1 認識STM32 GPIO 4.1.1 GPIO功能特點 4.1.2 STM32 IO口的優點 4.1.3 STM32固件庫中提供的GPIO庫函數 4.2 KEY_LED程序 4.2.1 創建stm32_C++KEY_LED項目 4.2.2 stm32_C++KEY_LED項目程序分析 4.3 低層代碼分析 4.3.1 GPIO端口的定義 4.3.2 AHB/APB橋的配置 4.3.3 GPIO引腳的配置 4.3.4 GPIO的讀寫
第5章 GCC編譯器的安裝與應用 5.1 GCC介紹 5.1.1 GCC概述 5.1.2 MinGW簡介 5.1.3 MinGW的安裝 5.1.4 MinGW測試 5.1.5 常見GCC用法 5.2 ARM GCC編譯器 5.2.1 WinARM編譯器 5.2.2 Sourcery G++ Lite for ARM EABI編譯器 5.3 Obtain_Studio集成開發繫統 5.3.1 Obtain_Studio集成開發繫統介紹 5.3.2 Obtain_Studio集成開發繫統常用技巧 5.4 GCC Make編譯文件設計 5.4.1 GCC Make常用命令 5.4.2 makefile文件規則 5.4.3 makefile文件函數 5.5 GCC編譯器LD腳本 5.5.1 C/C++程序內存空間 5.5.2 GCC LD腳本基礎 5.5.3 STM32程序中的LD腳本程序
第6章 STM32外部中斷 6.1 STM32外部中斷 6.2 STM32外部中斷實例 6.3 STM32中斷配置 6.3.1 STM32外部中斷程序分析 6.3.2 中斷通道配置 6.3.3 中斷優先級配置 6.3.4 外部中斷模式配置 6.3.5 外部中斷響應函數配置
第7章 面向對像程序設計 7.1 程序風格 7.1.1 程序風格的比較 7.1.2 編程風格在程序設計中的作用 7.2 跨越開發板 7.2.1 端口映射的方法 7.2.2 模式設置的方法 7.3 分類與封裝 7.3.1 什麼是分類與封裝 7.3.2 封裝的實現 7.4 隱藏與權限 7.4.1 隱藏 7.4.2 權限 7.5 繼承 7.5.1 CGpio類的繼承 7.5.2 測試CLed和CKey類 7.6 組裝 7.6.1 GPIO的組裝 7.6.2 GPIO組裝的測試 7.7 C++在嵌入式繫統中的應用 7.7.1 C++介紹 7.7.2 兼容C語言 7.7.3 在C++程序中調用C函數 7.7.4 面向對像程序設計語言 7.7.5 泛型編程語言 7.7.6 STL編程 7.7.7 接口編程
第8章 USART通信 8.1 從51單片機到STM32的串口通信 8.2 USART通用串口通信設計 8.2.1 USART通用串口 8.2.2 USART通用串口通信設計方案 8.3 USART通用串口程序設計入門 8.3.1 USART數據發送程序設計 8.3.2 USART數據接收程序設計 8.4 中斷方式的數據接收 8.4.1 中斷方式的數據接收程序設計 8.4.2 多個串口驅動對像的協同工作 8.5 USART驅動程序的設計 8.5.1 USART驅動程序 8.5.2 printf與cout的實現 8.6 深入STM32 USART的工作原理 8.6.1 USART工作原理 8.6.2 發送器 8.6.3 接收器 8.6.4 USART初始化函數USART_Init 8.6.5 USART波特率的計算方法
第9章 STM32的工作原理 9.1 STM32啟動原理 9.1.1 STM32啟動過程分析 9.1.2 STM32軟件復位與功耗控制 9.2 繫統時鐘分析 9.2.1 繫統時鐘種類 9.2.2 STM32固件庫設置時鐘 9.2.3 繫統時鐘配置 9.3 存儲器以及存儲器映射 9.4 NVIC嵌套中斷向量控制器 9.4.1 NVIC嵌套中斷向量控制器 9.4.2 STM32的NVIC優先級 9.5 STM32向量表及配置 9.5.1 STM32復位後從哪個地址開始執行 9.5.2 STM32向量表 9.5.3 用戶程序中的向量表
第10章 定時器與日歷 10.1 SysTick定時器 10.1.1 關於SysTick 10.1.2 SysTick測試程序 10.1.3 SysTick程序分析 10.2 RTC定時器 10.2.1 RTC定時器介紹 10.2.2 RTC的本質與測試程序 10.2.3 日歷算法 10.2.4 STM32的RTC日歷測試程序 10.2.5 STM32 RTC程序分析 10.2.6 RTC秒中斷 10.2.7 RTC鬧鐘 10.2.8 RTC校準 10.3 通用定時器 10.3.1 STM32定時器的種類 10.3.2 通用定時器介紹 10.3.3 通用定時器基本應用程序設計 10.3.4 通用定時器常用模式 10.3.5 輸出模式測試實例 10.3.6 輸入捕獲模式測試實例
第11章 ADC應用 11.1 ADC與數字信號處理繫統設計 11.1.1 數字信號處理繫統設計 11.1.2 STM32簡單的ADC應用實例 11.1.3 過采樣技術 11.1.4 欠采樣技術 11.2 STM32的ADC簡介 11.3 STM32 ADC入門實例 11.3.1 STM32 ADC入門測試程序 11.3.2 STM32 ADC程序分析 11.3.3 STM32內部溫度測量 11.4 STM32 ADC注入方式 11.4.1 STM32 ADC注入方式簡介 11.4.2 STM32雙ADC模式 11.4.3 STM32 ADC注入方式實例
第12章 DMA應用 12.1 STM32的DMA簡介 12.1.1 任務轉移策略 12.1.2 STM32的DMA功能 12.2 DMA在ADC中的應用 12.2.1 任務轉移策略的DMA ADC應用實例 12.2.2 DMA_ADC程序分析 12.3 DMA在USART中的應用 12.3.1 任務轉移策略的USART DMA數據發送 12.3.2 任務轉移策略的USART DMA數據接收 12.3.3 任務隊列策略的USART DMA發送中斷應用 12.3.4 任務循環策略的USART DMA接收中斷應用
第13章 備份寄存器與看門狗程序 13.1 STM32備份寄存器 13.1.1 備份寄存器特點 13.1.2 BKP應用實例 13.2 STM32看門狗 13.2.1 STM32看門狗介紹 13.2.2 獨立看門狗介紹 13.2.3 獨立看門狗程序設計 13.2.4 窗口看門狗介紹 13.2.5 窗口看門狗測試程序
第14章 TFT驅動與顯示 14.1 LCD概述 14.1.1 LCD簡介 14.1.2 LCD接口 14.2 Ili9xx繫列TFT驅動芯片 14.3 TFT測試程序 14.3.1 TFT測試程序準備工作 14.3.2 TFT測試主程序 14.3.3 字符的顯示 14.4 基於FSMC的TFT驅動程序設計 14.4.1 STM32的FSMC功能 14.4.2 FSMC與TFT端口連接與端口映射 14.4.3 FSMC與TFT的內存空間映射與操作 14.4.4 FSMC初始化 14.4.5 TFT初始化 14.4.5 TFT驅動程序統一接口函數的實現 14.5 基於GPIO的TFT驅動程序設計
第15章 觸摸屏驅動 15.1 觸摸屏介紹 15.2 觸摸屏驅動IC 15.3 觸摸屏測試項目 15.4 觸摸屏驅動程序分析 15.5 觸摸屏校準 15.5.1 觸摸屏校準算法 15.5.2 觸摸屏校準的實現
第16章 SD卡驅動與FAT文件繫統 16.1 STM32的SDIO接口 16.1.1 常見存儲卡種類 16.1.2 SD卡結構 16.1.3 STM32的SDIO接口 16.2 FAT文件繫統 16.2.1 FAT文件繫統概述 16.2.2 FatFs介紹 16.3 STM32 SDIO接口 16.4 SD卡文件讀寫實例 16.4.1 準備工作 16.4.2 SD卡文件讀寫實例 16.4.3 SD卡文件操作類CFile的設計 16.4.4 目錄操作
第17章 μC/OS-Ⅱ在STM32上的移植 17.1 μC/OS-Ⅱ概述 17.1.1 μC/OS-Ⅱ簡介 17.1.2 μC/OS-Ⅱ的組成部分 17.2 μC/OS-Ⅱ移植到STM 17.3 μC/OS-Ⅱ工作原理 17.3.1 μC/OS-Ⅱ啟動過程 17.3.2 任務切換的相關函數解析
第18章 漢字與圖形圖像顯示 18.1 漢字顯示 18.1.1 漢字庫 18.1.2 程序中加入漢字庫實現漢字顯示 18.1.3 使用SD卡上的漢字庫實現漢字顯示 18.2 圖形繪制 18.3 圖像顯示 18.3.1 位圖與bmp文件格式 18.3.2 bmp文件操作 18.3.3 bmp圖像顯示測試程序
第19章 攝像頭驅動與圖像采集 19.1 攝像頭接口 19.1.1 圖像傳感器 19.1.2 OV7670攝像頭 19.1.3 CMOS攝像頭接口 19.2 CMOS攝像頭測試程序 19.3 深入CMOS攝像頭驅動程序原理 19.3.1 SCCB協議 19.3.2 SCCB協議驅動程序設計 19.3.3 CMOS攝像頭驅動程序設計
第20章 以太網及Web遠程控制繫統設計 20.1 ENC28J60以太網控制器 20.2 網絡測試程序 20.2.1 Web Server測試 20.2.2 UDP通信測試 20.3 IP/ICMP協議與Ping命令的實現 20.3.1 以太網數據包結構 20.3.2 IP協議 20.3.3 ICMP協議 20.3.4 Ping命令 20.3.5 Ping命令的實現 20.4 UDP通信原理 20.4.1 UDP協議 20.4.2 UDP通信的實現 20.5 Web Server程序設計 20.5.1 Web Server原理 20.5.2 TCP設計 20.5.3 Web Server設計 20.6 ENC28J60驅動程序設計 20.6.1 STM32 SPI接口 20.6.2 STM32 SPI驅動程序 20.6.3 ENC28J60驅動程序 參考文獻 查看全部↓ 前言/序言 在科研項目研究、產品開發、畢業設計以及電子競賽等活動中,經常遇到8位單片機速度、I/O口、內部RAM以及內部Flash不夠用等問題。隨著32位微控制器成本的降低,采用32位微控制器作為8位單片機繫統的升級與更新換代已成為最佳選擇,特別是內部帶Flash的低成本ARM微控制器的使用,以接近8位單片機的成本即可獲取更高性能。 目前許多IC廠商都推出了內部帶Flash的低成本32位 ARM微控制器,例如ARM Cortex-M3繫列微控制器。它具有兩個很重要的特點,一是低成本,二是高性能。在成本方面,價格與8位/16位微控制器相差不多;內帶Flash,不需要外接ROM,簡化了設計,電路更簡潔。在高性能方面,運算速度快,例如以Cortex-M3為內核的STM32F2繫列微控制器,內核主頻高達120MHz,內部帶有硬件乘法器、硬件除法器、以太網控制器、支持USB 2.0接口等。由此可見,32位微控制器在性能上是8位、16位微控制器無法比擬的。 在代碼的大小方面,ARM Cortex-M3微控制器提供優於8位和16位體繫結構的代碼密度。在減少對內存的需求和最大限度地提高片上閃存的使用率方面,都具有很大的優勢。 STM32F103微控制器構建於高性能的ARM Cortex-M3內核,工作頻率為72MHz,內置高速存儲器(最高可達1M字節的閃存和128K字節的SRAM),豐富的增強型I/O端口和連接到兩條APB總線的外設。增強型器件都包含2~3個12位的ADC、4個通用16位定時器和2個PWM定時器。 成本低,該繫列微控制器與常見的8位、16位單片機在價格上基本接近。既有32位單片機的性能,又與8位、16位單片機價格相當,可直接代替8位/16位單片機應用於一些小型控制繫統中。 體積小,可把該應用繫統的PCB面積壓縮到最小,以便應用到小體積的產品中,例如智能繼電器、微型水位控制器、恆溫控制器等。 性能高,包含標準和先進的通信接口:5個USART接口、3個SPI接口、2個I2C接口、2個I2S接口、1個SDIO接口、一個USB接口和一個CAN接口。STM32F103是一個完整的繫列,其成員之間引腳對引腳完全兼容,軟件和功能也兼容。 GCC編譯器是一套以GPL及LGPL許可證發行的開源、自由軟件。GCC編譯器是移植到中央微控制器架構以及操作繫統最多的編譯器。由於GCC已成為GNU繫統的官方編譯器(包括GNU/Linux),它也成為編譯與建立其他操作繫統的主要編譯器,包括Linux繫列、BSD繫列、Mac OS X、NeXTSTEP與BeOS等。 GCC通常是跨平臺軟件首選的編譯器。有別於一般局限於特定繫統與執行環境的編譯器,GCC在所有平臺上都使用同一個前端處理程序,產生一樣的中間代碼,此中間代碼在各個不同的平臺上都一致,並可輸出正確無誤的最終代碼。 GCC功能強大、性能優越,並且開放源代碼,用戶可以免費使用,從而降低了開發成本。 查看全部↓
" |