内容推荐 MicroPython本身使用GNUC进行开发,在微控制器上实现了Python 3的基本功能,拥有完备的解析器、编译器、虚拟机和类库等。在保留了Python语言主要特性的基础上,MicroPython还对微控制器的底层进行了封装,将常用功能都封装到库中,甚至为一些常用的传感器和硬件编写了专门的驱动。 全书共17章,在内容上可分为3部分:搭建环境与基本方法(第1、2章)、移植和启用核心功能(第3~7章)、设计实现更多模块(第8~17章),并配备了丰富的样例程序,用于验证MicroPython功能模块可正常工作,并演示同这些模块相关的典型编程方法。 本书力求理论与实践紧密结合,内容翔实,实例丰富,可操作性强。本书可作为高等院校“嵌入式系统”相关课程的教材,也可供从事嵌入式系统开发与应用的工程技术人员自学,还可为电子爱好者使用嵌入式系统实现创意作品提供参考。 作者简介 苏勇,现就职于上海灵动微电子股份有限公司。曾就职于恩智浦半导体(飞思卡尔半导体并入),历任嵌入式软件工程师、高级系统应用工程师、软件与系统工程经理。主要基于微控制器平台进行软件开发,擅长对IP外设建模并设计驱动,擅长嵌入式系统的软件架构设计及深度系统优化,熟悉IOT和AI等技术领域的应用及相关的产品开发。熟悉基于微控制器的大型软件项目开发与管理。 目录 第1章 MicroPython:用Python对微控制器编程 1.1 缘起 1.1.1 一切源自Python 1.1.2 从桌面系统到微控制器 1.1.3 从业余爱好到商业项目 1.1.4 Python与STEM学科 1.2 微控制器软件 1.2.1 什么是微控制器 1.2.2 为什么使用MicroPython 1.2.3 为什么不是C++ 1.2.4 汇编语言怎么样 1.2.5 BASIC语言怎么样 1.2.6 与树莓派相比 1.3 MicroPython支持的硬件 1.3.1 第一块MicroPython开发板 1.3.2 ESP8266/ESP32开发板 1.3.3 BBC Micro:Bit开发板 1.3.4 Adafruit和支持CircuitPython的一些开发板 1.4 MicroPython编程体验 1.4.1 REPL 1.4.2 命令行工具 1.4.3 MicroPython集成开发环境 1.4.4 编写MicroPython代码 1.5 MicroPython应用场景 1.5.1 验证新产品原型设计 1.5.2 验证硬件系统 1.5.3 编程教育 1.6 本章小结 第2章 准备MicroPython开发环境 2.1 MicroPython源码 2.1.1 获得MicroPython的源代码 2.1.2 MicroPython源码文件结构分析 2.2 基于Windows操作系统搭建MieroPython编译环境 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-gce 2.2.6 编译minimal工程验证编译工具链 2.3 硬件平台介绍 2.3.1 MM32F3微控制器 2.3.2 PLUS-F3270开发板 2.3.3 F3270最小系统实验板 2.3.4 POKT-KE18F开发板 2.3.5 MindSDK软件包 2.4 本章小结 第3章 移植MicroPython最小工程 3.1 MicroPython的最小工程 3.1.1 minimal项目目录下的文件 3.1.2 从Makefile追溯编译过程 3.2 基于MM32F3微控制器移植minimal工程 3.2.1 在lib目录中添加MindSDK代码 3.2.2 在ports目录中创建mm32f3项目目录 3.3 首次在MM32F3微控制器上运行MicroPython 3.3.1 下载可执行文件到MM32F3微控制器 3.3.2 验证及演示程序 3.4 本章小结 第4章 MicroPython类模块实现综述 4.1 基本的类模块封装模式 4.1.1 新建类模块的源文件 4.1.2 编辑Makefile 4.1.3 编译运行 4.2 本章小结 第5章 新建Pin类模块 5.1 新建硬件外设类模块框架 5.2 定义machine_pin_obj_t结构 …… 第6章 移植utime类模块 第7章 移植SD卡类模块实现文件系统 第8章 启用浮点和数学计算模块 第9章 新建DAC类模块 第10章 新建ADC类模块 第11章 新建UART类模块 第12章 新建SPI类模块 第13章 新建I2C类模块 第14章 新建PWM类模块 第15章 新建Timer类模块 第16章 使用mem类方法 第17章 使用ThonnyIDE开发MicroPython 附录A 图索引 后记 |