MICROPYTHON内核开发笔记——基于MM32F3微控制器
- ISBN:9787302630289
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:344
- 出版时间:2023-06-01
- 条形码:9787302630289 ; 978-7-302-63028-9
本书特色
撰写本书的目的,原本是梳理之前在基于MM32F3270微控制器上移植MicroPython的过程中总结出的开发规范,以及一些奇思妙想,整理成文稿后,可为软件组的其他同事在更多平台上移植MicroPython和深入开发编写的开发说明,撰写的重点在于如何移植现有的模块。
内容简介
MicroPython本身使用GNU C进行开发,在微控制器上实现了Python 3的基本功能,拥有完备的解析器、编译器、虚拟机和类库等。在保留了Python语言主要特性的基础上,MicroPython还对微控制器的底层进行了封装,将常用功能都封装到库中,甚至为一些常用的传感器和硬件编写了专门的驱动。 全书共17章,在内容上可分为3部分: 搭建环境与基本方法(第1、2章)、移植和启用核心功能(第3~7章)、设计实现更多模块(第8~17章),并配备了丰富的样例程序,用于验证MicroPython功能模块可正常工作,并演示同这些模块相关的典型编程方法。 本书力求理论与实践紧密结合,内容翔实,实例丰富,可操作性强。本书可作为高等院校“嵌入式系统”相关课程的教材,也可供从事嵌入式系统开发与应用的工程技术人员自学,还可为电子爱好者使用嵌入式系统实现创意作品提供参考。 通过在线Git代码仓库 https://gitee.com/suyong_yq/micropythonsu可以下载**代码。
目录
第10章新建ADC类模块 10.1ADC类模块的应用模型 10.2ADC硬件外设模块 10.2.1关于ADC硬件转换器的触发机制 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系统方法call()和print() 10.3.6创建machine_adc_type 10.3.7向MicroPython中集成ADC类模块 10.4实验 10.4.1使用ADC类模块测量引脚电压 10.4.2ADC与DAC的联合实验 10.5本章小结 第11章新建UART类模块 11.1分析stream框架 11.1.1mp_stream_p_t结构体类型 11.1.2stream对外提供的属性方法 11.1.3stream内部的适配函数 11.2提取移植接口并实现移植 11.2.1适配硬件相关的函数 11.2.2基于中断机制的收发过程 11.2.3轮询发送和中断接收机制的接口函数 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用于产生波特率的软件延时函数 12.2.3完成移植需要具体平台实现的函数
12.2.4向machine类中添加SoftSPI类模块 12.3创建硬件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发送过程输出波形 12.4.3使用SPI读入数据 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.1PLUSF3270 13.4.2POKTKE18F 13.5本章小结 第14章新建PWM类模块 14.1参考范例 14.2创建硬件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动态改变占空比 14.3.3动态改变频率 14.4本章小结 第15章新建Timer类模块 15.1参考范例 15.2创建硬件定时器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实现硬件定时器中断服务 15.3实验 15.3.1通过定时器中断控制小灯闪烁 15.3.2周期性采集ADC信号 15.4本章小结 第16章使用mem类方法 16.1mem类方法的使用 16.2探究数组方法的实现 16.3一些Python驱动外设的用例 16.3.1访问微控制器的设备唯一编号 16.3.2使用COMP外设模块 16.3.3使用灵活高精度PWM 16.4本章小结 第17章使用Thonny IDE开发MicroPython 17.1Thonny简介 17.2改写MicroPython代码适配Thonny 17.3在Thonny中调试MicroPython 17.3.1在Shell中执行Python脚本 17.3.2在代码编辑区编写代码并运行 17.4实现下载模式和调试模式 17.5本章小结 附录A图索引 后记
作者简介
苏勇,现就职于上海灵动微电子股份有限公司。曾就职于恩智浦半导体(飞思卡尔半导体并入),历任嵌入式软件工程师、高级系统应用工程师、软件与系统工程经理。主要基于微控制器平台进行软件开发,擅长对IP外设建模并设计驱动,擅长嵌入式系统的软件架构设计及深度系统优化,熟悉IOT和AI等技术领域的应用及相关的产品开发。熟悉基于微控制器的大型软件项目开发与管理。 卓晴,清华大学自动化系副教授,主要研究领域包括智能信息处理、嵌入式系统和功率电子等。荣获国家级教学成果奖一等奖、北京市教学成果奖一等奖等,讲授课程包括“信号与系统”“人工神经网络”等。从2006年开始负责组织全国大学生智能车竞赛活动至今。
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥19.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0