官术网_书友最值得收藏!

前言

為什么要寫這本書

MCU即微控制器,國人可能更多稱其為單片機,在嵌入式系統中一般用于信號處理及控制。時至今日,MCU已廣泛應用于消費、工業、汽車、家電、物聯網等領域,小小的身材卻發揮著巨大的作用。根據IC Insights的數據,2022年全球MCU市場規模將有望突破200億美元,預計未來將以超過6%的年均復合增長率保持穩定增長。國內MCU市場隨著AI、IoT、光伏、新能源汽車等行業發展快速放量,需求量及增長量將領跑全球,但目前國外芯片占據國內市場的主要地位,MCU國產化需進一步提升。

近年來,國內涌現一批優秀的MCU廠商,比如兆易創新、華大半導體、靈動微等,也出現了一批優秀的產品,其中兆易創新的GD32 MCU引人注目。GD32 MCU是國內最早推出的以Cortex-M3/M4/M23/M33為內核的MCU,其中包括全球范圍內首顆基于RISC-V內核的通用MCU,目前具有30多個系列共400余個產品型號。截至本書完稿時,GD32 MCU已累計出貨超10億顆。GD32 MCU作為國產芯片,比國外芯片具有更強的供貨保證,不會被“卡脖子”。

在開始使用GD32 MCU之前,筆者已經使用過市面上的許多MCU,包括8位的8051、AVR、STM8,16位的MSP430,32位的C28x、STM32等。早期廣泛使用的8位MCU外設比較簡單,直接使用寄存器操作即可。32位MCU的功能比8位MCU的功能更強大,但隨之而來的是寄存器數量大大增加,繼續使用寄存器則開發難度大大增加,對初學者尤其不友好。因而,GD32 MCU在推出伊始即推出了配套固件庫,該固件庫將寄存器的操作封裝成一個個用C語言編寫的API庫函數,代碼可讀性也很高。經過長期的工程實踐,筆者發現GD32的這套固件庫質量非常高,是一套設計優美的API,它的命名采用全小寫加下劃線的方式,熟悉Linux內核的用戶會覺得很親切;在寄存器定義方面更多地使用宏定義,大多數API函數都短小精悍,生成的代碼尺寸小巧,運行效率高。

目前網上關于GD32 MCU的開發資料以及配套的教學書籍還較少,開發者不得不閱讀芯片用戶手冊、數據手冊以及固件庫代碼,而用戶手冊都是使用寄存器來描述的,且目前市面上還沒有專門介紹GD32固件庫的書籍,這給廣大初學者在學習方面帶來了一定的困難。為全面系統地介紹GD32 MCU原理以及固件庫的使用,降低GD32 MCU開發者的學習及使用門檻,筆者特撰寫了本書。

目前MCU國產化如火如荼,兆易創新也在不斷推出新的GD32 MCU型號,GD32 MCU固件庫也在持續更新中,筆者希望本書能降低一些GD32 MCU的入門門檻,為MCU國產化進程盡綿薄之力。

讀者對象

? 希望學習MCU開發的學生。

? 希望切換到國產MCU的電子工程師。

? 使用GD32 MCU的DIY創客。

? 使用MCU進行開發的電子愛好者。

? 希望實現MCU國產化的公司和研究所。

? 使用GD32 MCU開發產品的人員。

? 開設相關課程的高等院校師生。

本書特色

本書聚焦在GD32 MCU基本原理和固件庫上,重點在于對固件庫API的介紹,并沒有過多介紹GD32 MCU寄存器,對這類內容有興趣的讀者可以閱讀相關MCU的用戶手冊。

在寫作方面,本書力求做到通俗易懂,以降低用戶入門門檻,并使之成為一本有趣的書,一本讀者讀起來不會犯困的書。

本書提供了大量實例代碼,這些代碼都可以直接編譯運行,其中很多是經過實際工程驗證的。這些代碼都在Github和Gitee網站上開源,讀者可以隨時免費獲取。

為了便于讀者學習,筆者還設計了一款低成本開發板BluePill作為本書的配套開發板,所有實例代碼都在該開發板上驗證過了。該開發板以開源形式提供,讀者可以直接購買成品開發板,也可以獲取PCB設計資料,然后利用嘉立創網站的免費打樣功能自行打樣制作開發板。

如何閱讀本書

本書共分為8章:

第1章對GD32 MCU進行概述,包括對兆易創新公司進行概述,介紹GD32 MCU的發展歷程、產品家族和應用選型。

第2章介紹GD32 MCU快速入門與開發平臺搭建的方法,包括對軟硬件開發平臺、調試工具、GD32 MCU固件庫架構及使用的介紹。

第3章介紹GD32 MCU系統架構、內核及存儲器系統。

第4章介紹GD32 MCU的電源管理系統及復位、時鐘系統。

第5章介紹GD32 MCU的基礎外設,包括GPIO、EXTI、DMA、TIMER、RTC和WDGT/WWDGT。

第6章介紹GD32 MCU的模擬外設,包括ADC和DAC。

第7章介紹GD32 MCU的基礎通信外設,包括USART、I2C和SPI。

第8章介紹GD32 MCU的高級通信外設,包括CAN和USBD。

其中第1~3章偏重理論,通用性強。第4~8章偏重實踐,主要以實例來講解工程應用。如果你是一名經驗豐富的資深用戶,對GD32 MCU已經有了一定的了解,可以從第4章開始閱讀。如果你是一名初學者,請從第1章開始閱讀。

勘誤和支持

除封面署名的作者外,參加本書撰寫工作的還有康立新、李煒。由于筆者的水平有限,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。你可以在本書配套例程的Github倉庫https://github.com/xjtuecho/GD32F30x_Firmware_Library中提交Issues或者Pull Requests。書中的配套例程除了可以從上面的Github地址下載外,還可以從https://gitee.com/xjtuecho/GD32F30x_Firmware_Library下載。配套的BluePill開發板資料可從https://oshwhub.com/spadger/bluepill下載。如果你有更多的寶貴意見,也歡迎發送郵件至郵箱echo.xjtu@gmail.com或者renbaohong.hi@163.com,期待能夠得到你的真摯反饋。

致謝

首先要感謝兆易創新公司推出了GD32這樣好用的MCU芯片,同時提供多款MCU芯片產品,讓國內的相關企業在面對國外芯片封鎖時不再恐慌。

感謝映時科技康立新、李煒在本書編寫過程中所做的組織和督促工作,感謝映時科技胡工、捷士盟朱工對書稿提出的寶貴意見。

謹以此書獻給眾多使用GD32 MCU的電子愛好者們!

主站蜘蛛池模板: 麻江县| 门头沟区| 五河县| 车险| 宣威市| 大余县| 且末县| 庆元县| 宝坻区| 兴义市| 南和县| 双鸭山市| 达拉特旗| 绩溪县| 奇台县| 客服| 启东市| 闸北区| 松阳县| 吉水县| 莲花县| 沙坪坝区| 垣曲县| 江城| 商南县| 平南县| 从化市| 鸡泽县| 涞源县| 会宁县| 宜兰县| 大关县| 海兴县| 响水县| 墨玉县| 全州县| 嘉义县| 淳化县| 利川市| 辽阳市| 隆安县|