注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)MicroPython內(nèi)核開發(fā)筆記:基于MM32F3微控制器

MicroPython內(nèi)核開發(fā)筆記:基于MM32F3微控制器

MicroPython內(nèi)核開發(fā)筆記:基于MM32F3微控制器

定 價:¥89.00

作 者: 蘇勇,卓晴
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302630289 出版時間: 2023-06-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  MicroPython本身使用GNU C進行開發(fā),在微控制器上實現(xiàn)了Python 3的基本功能,擁有完備的解析器、編譯器、虛擬機和類庫等。在保留了Python語言主要特性的基礎上,MicroPython還對微控制器的底層進行了封裝,將常用功能都封裝到庫中,甚至為一些常用的傳感器和硬件編寫了專門的驅動。 全書共17章,在內(nèi)容上可分為3部分: 搭建環(huán)境與基本方法(第1、2章)、移植和啟用核心功能(第3~7章)、設計實現(xiàn)更多模塊(第8~17章),并配備了豐富的樣例程序,用于驗證MicroPython功能模塊可正常工作,并演示同這些模塊相關的典型編程方法。 本書力求理論與實踐緊密結合,內(nèi)容翔實,實例豐富,可操作性強。本書可作為高等院校“嵌入式系統(tǒng)”相關課程的教材,也可供從事嵌入式系統(tǒng)開發(fā)與應用的工程技術人員自學,還可為電子愛好者使用嵌入式系統(tǒng)實現(xiàn)創(chuàng)意作品提供參考。 通過在線Git代碼倉庫 https://gitee.com/suyong_yq/micropythonsu可以下載**代碼。

作者簡介

暫缺《MicroPython內(nèi)核開發(fā)筆記:基于MM32F3微控制器》作者簡介

圖書目錄

第1章MicroPython: 用Python對微控制器編程
1.1緣起
1.1.1一切源自Python
1.1.2從桌面系統(tǒng)到微控制器
1.1.3從業(yè)余愛好到商業(yè)項目
1.1.4Python與STEM學科
1.2微控制器軟件
1.2.1什么是微控制器
1.2.2為什么使用MicroPython
1.2.3為什么不是C
1.2.4匯編語言怎么樣
1.2.5BASIC語言怎么樣
1.2.6與樹莓派相比
1.3MicroPython支持的硬件
1.3.1第一塊MicroPython開發(fā)板
1.3.2ESP8266/ESP32開發(fā)板
1.3.3BBC Micro: Bit開發(fā)板
1.3.4Adafruit和支持CircuitPython的一些開發(fā)板
1.4MicroPython編程體驗
1.4.1REPL
1.4.2命令行工具
1.4.3MicroPython集成開發(fā)環(huán)境
1.4.4編寫MicroPython代碼
1.5MicroPython應用場景
1.5.1驗證新產(chǎn)品原型設計
1.5.2驗證硬件系統(tǒng)
1.5.3編程教育
1.6本章小結
第2章準備MicroPython開發(fā)環(huán)境
2.1MicroPython源碼
2.1.1獲得MicroPython的源代碼
2.1.2MicroPython源碼文件結構分析
2.2基于Windows操作系統(tǒng)搭建MicroPython編譯環(huán)境
2.2.1安裝msys2基礎軟件包
2.2.2在msys2中安裝make
2.2.3在msys2中安裝Python
2.2.4在msys2中安裝GCC工具鏈
2.2.5在msys2中導入armnoneeabigcc
2.2.6編譯minimal工程驗證編譯工具鏈
2.3硬件平臺介紹
2.3.1MM32F3微控制器
2.3.2PLUSF3270開發(fā)板
2.3.3F3270最小系統(tǒng)實驗板
2.3.4POKTKE18F開發(fā)板
2.3.5MindSDK軟件包
2.4本章小結
第3章移植MicroPython最小工程
3.1MicroPython的最小工程
3.1.1minimal項目目錄下的文件
3.1.2從Makefile追溯編譯過程
3.2基于MM32F3微控制器移植minimal工程
3.2.1在lib目錄中添加MindSDK代碼
3.2.2在ports目錄中創(chuàng)建mm32f3項目目錄
3.3首次在MM32F3微控制器上運行MicroPython
3.3.1下載可執(zhí)行文件到MM32F3微控制器
3.3.2驗證及演示程序
3.4本章小結
第4章MicroPython類模塊實現(xiàn)綜述
4.1基本的類模塊封裝模式
4.1.1新建類模塊的源文件
4.1.2編輯Makefile
4.1.3編譯運行
4.2本章小結
第5章新建Pin類模塊
5.1新建硬件外設類模塊框架
5.2定義machine_pin_obj_t結構
5.3在構造函數(shù)中實現(xiàn)返回實例化對象
5.4在構造函數(shù)中實現(xiàn)多種傳參方式指定實例化對象
5.5print()和call()
5.5.1print()方法
5.5.2call()方法
5.5.3其他基礎類屬性函數(shù)
5.6實驗
5.6.1向引腳輸出電平控制小燈亮滅
5.6.2讀取引腳電平獲取按鍵值
5.7本章小結
第6章移植utime類模塊
6.1utime類模塊簡介
6.2MicroPython自帶的utime類實現(xiàn)
6.3對接硬件定時器相關的函數(shù)實現(xiàn)
6.4在MicroPython中添加utime類模塊
6.5實驗
6.6本章小結
第7章移植SD卡類模塊實現(xiàn)文件系統(tǒng)
7.1VFS文件系統(tǒng)調(diào)用關系解析
7.1.1vfs_blockdev系列函數(shù)
7.1.2VFS統(tǒng)一文件系統(tǒng)API
7.2從文件系統(tǒng)中執(zhí)行Python腳本文件解析
7.2.1mp_lexer_new_from_file()
7.2.2mp_import_stat()和mp_builtin_open()
7.3對接硬件SD卡驅動程序
7.4新建SDCard類模塊
7.4.1make_new()
7.4.2read_blocks() & write_blocks()
7.4.3ioctl()
7.4.4創(chuàng)建SDCard類模塊的類型對象
7.4.5添加SDCard類
7.4.6更新Makefile
7.5調(diào)整MicroPython內(nèi)核支持文件系統(tǒng)
7.5.1改寫main()函數(shù)支持文件系統(tǒng)
7.5.2配置mpconfigport.h文件
7.6啟用uos類模塊
7.7實驗
7.7.1運行來自SD卡的main.py
7.7.2在REPL中讀取main.py文件的內(nèi)容
7.7.3在文件系統(tǒng)中創(chuàng)建并寫入文件
7.7.4使用uos類模塊查看和刪除文件系統(tǒng)中的文件
7.8本章小結
第8章啟用浮點和數(shù)學計算模塊
8.1一些嘗試
8.2啟用浮點數(shù)和math數(shù)學計算模塊
8.2.1在mpconfigport.h文件中添加配置宏
8.2.2在Makefile中補充math函數(shù)的實現(xiàn)代碼
8.3僅啟用浮點數(shù)但不啟用math數(shù)學計算模塊
8.4啟用復數(shù)及cmath復數(shù)計算模塊
8.5實驗
8.5.1支持新功能產(chǎn)生代碼量變化的統(tǒng)計
8.5.2使用math模塊進行計算
8.5.3使用cmath模塊進行計算
8.5.4實現(xiàn)FFT計算過程
8.6本章小結
第9章新建DAC類模塊
9.1分析已有移植項目的范例實現(xiàn)
9.1.1print()方法
9.1.2write()方法
9.1.3make_new()方法與mdac_obj_t結構體
9.2設計新建DAC類模塊
9.2.1一些新需求
9.2.2machine_dac_obj_t 
9.2.3make_new()和init()
9.2.4write_u16()
9.2.5call()
9.2.6print()
9.2.7machine_dac_type
9.2.8向MicroPython中添加新建DAC類模塊
9.3實驗
9.3.1使用DAC類模塊在引腳上輸出模擬電壓
9.3.2使用DAC輸出正弦波形
9.4本章小結
第10章新建ADC類模塊
10.1ADC類模塊的應用模型
10.2ADC硬件外設模塊
10.2.1關于ADC硬件轉換器的觸發(fā)機制
10.2.2考慮轉換隊列的情況
10.3新建ADC類模塊
10.3.1machine_adc_obj_t
10.3.2make_new()
10.3.3init()
10.3.4read_u16()
10.3.5系統(tǒng)方法call()和print()
10.3.6創(chuàng)建machine_adc_type
10.3.7向MicroPython中集成ADC類模塊
10.4實驗
10.4.1使用ADC類模塊測量引腳電壓
10.4.2ADC與DAC的聯(lián)合實驗
10.5本章小結
第11章新建UART類模塊
11.1分析stream框架
11.1.1mp_stream_p_t結構體類型
11.1.2stream對外提供的屬性方法
11.1.3stream內(nèi)部的適配函數(shù)
11.2提取移植接口并實現(xiàn)移植
11.2.1適配硬件相關的函數(shù)
11.2.2基于中斷機制的收發(fā)過程
11.2.3輪詢發(fā)送和中斷接收機制的接口函數(shù)
11.2.4其他必要的方法
11.2.5向MicroPython中集成UART類模塊
11.3實驗
11.4本章小結
第12章新建SPI類模塊
12.1啟用machine_spi框架
12.2在移植項目中啟用SoftSPI類模塊
12.2.1softspi.c中的SPI總線驅動
12.2.2用于產(chǎn)生波特率的軟件延時函數(shù)
12.2.3完成移植需要具體平臺實現(xiàn)的函數(shù)
12.2.4向machine類中添加SoftSPI類模塊
12.3創(chuàng)建硬件SPI類模塊
12.3.1machine_hw_spi_obj_t
12.3.2make_new()
12.3.3transfer()
12.3.4print()
12.3.5machine_hw_spi_type
12.3.6向machine類中添加硬件SPI類模塊
12.4實驗
12.4.1顯示SPI信息
12.4.2使用SPI發(fā)送過程輸出波形
12.4.3使用SPI讀入數(shù)據(jù)
12.4.4使用SPI類訪問W25Q64
12.5本章小結
第13章新建I2C類模塊
13.1通用I2C類模塊框架machine_i2c
13.2軟件I2C類模塊SoftI2C
13.3硬件I2C類模塊I2C
13.3.1transfer_single()
13.3.2machine_hw_i2c_type
13.3.3make_new()
13.3.4print()
13.3.5集成硬件I2C模塊到machine模塊中
13.4實驗
13.4.1PLUSF3270
13.4.2POKTKE18F
13.5本章小結
第14章新建PWM類模塊
14.1參考范例
14.2創(chuàng)建硬件PWM模塊
14.2.1machine_pwm_obj_t
14.2.2make_new()
14.2.3init()和deinit()
14.2.4freq()
14.2.5duty()
14.2.6print()
14.2.7向machine類中添加PWM類模塊
14.3實驗
14.3.1使用PWM類模塊輸出基本波形
14.3.2動態(tài)改變占空比
14.3.3動態(tài)改變頻率
14.4本章小結
第15章新建Timer類模塊
15.1參考范例
15.2創(chuàng)建硬件定時器Timer類模塊
15.2.1machine_timer_obj_t
15.2.2make_new()
15.2.3print()
15.2.4init()
15.2.5deinit()
15.2.6del()
15.2.7實現(xiàn)硬件定時器中斷服務
15.3實驗
15.3.1通過定時器中斷控制小燈閃爍
15.3.2周期性采集ADC信號
15.4本章小結
第16章使用mem類方法
16.1mem類方法的使用
16.2探究數(shù)組方法的實現(xiàn)
16.3一些Python驅動外設的用例
16.3.1訪問微控制器的設備唯一編號
16.3.2使用COMP外設模塊
16.3.3使用靈活高精度PWM
16.4本章小結
第17章使用Thonny IDE開發(fā)MicroPython
17.1Thonny簡介
17.2改寫MicroPython代碼適配Thonny
17.3在Thonny中調(diào)試MicroPython
17.3.1在Shell中執(zhí)行Python腳本
17.3.2在代碼編輯區(qū)編寫代碼并運行
17.4實現(xiàn)下載模式和調(diào)試模式
17.5本章小結
附錄A圖索引
后記
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號