描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302656722丛书名: 计算机科学与技术丛书
全书共18章,分为三篇:第一篇(第1~3章)为系统平台模块,介绍嵌入式系统定义、嵌入式硬件平台和软件环境;第二篇(第4~10章)为基本外设模块,介绍STM32嵌入式系统常用的外设模块,包括GPIO、中断、定时器、PWM和嵌入式系统接口技术;第三篇(第11~18章)为扩展外设模块,介绍STM32嵌入式系统高级外设模块和典型的传感器,包括USART、SPI、W25Q128、I2C、EEPROM、ADC、DMA、DAC、RTC、DHT11等。
系统论述基于STM32CubeMX的HAL开发方法。
以读者认知过程为导向编排组织书中章节内容。
项目引领,任务驱动,培养读者工程实践能力。
构建立体化的教学资源,便于课程教学与项目开发。
本书详细阐述了基于ARM Cortex-M4内核的STM32F407微控制器嵌入式系统硬件设计方法和软件开发技术。全书共有十八章,划分为三篇:第一篇(第1~3章)为系统平台,讲述嵌入式系统定义、嵌入式硬件平台和软件环境配置与使用入门。第二篇(第4~10章)为基本外设,分别对STM32嵌入式系统最常用的外设模块进行介绍,包括GPIO、中断、定时器、PWM和嵌入式系统接口技术。第三篇(第11~18章)为扩展外设,分别对STM32嵌入式系统高级外设模块和典型传感器进行讲解,包括USART、SPI、W25Q128、IIC、EEPROM 、ADC、DMA、DAC、RTC和DHT11等。
第一篇系 统 平 台
第1章ARM Cortex-M4嵌入式系统
1.1嵌入式系统概述
1.1.1什么是嵌入式系统
1.1.2嵌入式系统和通用计算机比较
1.1.3嵌入式系统的特点
1.1.4嵌入式系统的应用领域
1.1.5嵌入式系统范例
1.2嵌入式系统的硬件
1.2.1嵌入式处理器的分类
1.2.2嵌入式处理器的技术指标
1.2.3嵌入式存储器
1.2.4嵌入式I/O设备
1.2.5嵌入式I/O接口
1.3ARM Cortex-M4 处理器
1.3.1ARM公司
1.3.2ARM处理器
1.4STM32微控制器
1.4.1从ARM Cortex-M内核到基于ARM Cortex-M的MCU
1.4.2STM32微控制器产品线
1.4.3STM32微控制器命名规则
1.5嵌入式系统的软件
1.5.1无操作系统的嵌入式软件
1.5.2带操作系统的嵌入式软件
1.5.3典型嵌入式操作系统
1.5.4软件结构选择建议
本章小结
思考拓展
第2章STM32F407与实验平台
2.1STM32F407微控制器
2.1.1STM32F407/STM32F417系列
2.1.2STM32F407功能特性
2.1.3STM32F407内部结构
2.1.4STM32F407存储器映射
2.1.5STM32F407时钟系统
2.1.6STM32F407引脚
2.2开发板总体概况
2.2.1开发板设计背景
2.2.2开发板总体介绍
2.3电源电路
2.3.1电源电路原理图
2.3.2电源电路工作原理
2.4核心板电路
2.4.1芯片电源电路
2.4.2CPU滤波电路
2.4.3外接晶振电路
2.4.4备用电源电路
2.4.5复位电路
2.4.6启动设置电路
2.5I/O模块电路
2.5.1LED模块
2.5.2按键模块
2.5.3显示模块
2.5.4蜂鸣器模块
2.6扩展模块电路
2.6.1温湿度传感器
2.6.2光照传感器
2.6.3A/D采样模块
2.6.4EEPROM
2.6.5Flash存储器
2.6.6波形发生器
2.6.7蓝牙模块
2.6.8I/O引脚外接模块
2.7CMSIS-DAP调试器
本章小结
思考拓展
第3章软件环境配置与使用入门
3.1STM32开发方式
3.1.1STM32Snippets库
3.1.2标准外设库
3.1.3STM32CubeMX HAL库
3.1.4STM32CubeMX LL库
3.1.5开发方式比较与选择
3.2软件资源安装与配置
3.2.1JRE安装
3.2.2STM32CubeMX安装
3.2.3HAL固件包安装
3.2.4MDK-ARM安装
3.2.5器件包安装
3.2.6MDK-ARM注册
3.2.7软件安装总结
3.3基于STM32CubeMX的HAL开发方式
3.3.1STM32CubeMX生成初始化代码
3.3.2MDK-ARM集成开发
3.4CMSIS-DAP调试器使用
3.4.1调试器连接与驱动安装
3.4.2调试选项设置与程序下载
3.5开发经验小结——编译器优化与volatile关键字
3.5.1编译器优化
3.5.2volatile关键字
本章小结
思考拓展
第二篇基 本 外 设
第4章通用输入输出端口
4.1GPIO概述及引脚命名
4.2GPIO内部结构
4.2.1输入驱动器
4.2.2输出驱动器
4.3GPIO工作模式
4.3.1输入浮空
4.3.2输入上拉
4.3.3输入下拉
4.3.4模拟输入
4.3.5开漏输出
4.3.6开漏复用输出
4.3.7推挽式输出
4.3.8推挽式复用输出
4.3.9工作模式选择
4.4GPIO输出速度
4.5I/O引脚复用及映射
4.6GPIO控制寄存器
4.7GPIO控制寄存器配置实例
4.8寄存器版LED灯闪烁工程
4.8.1创建寄存器版工程模板
4.8.2LED灯闪烁程序设计
4.9开发经验小结——MDK中的C语言数据类型
本章小结
思考拓展
第5章LED流水灯与SysTick定时器
5.1GPIO输出库函数
5.1.1GPIO外设时钟使能
5.1.2函数HAL_GPIO_Init()
5.1.3函数HAL_GPIO_DeInit()
5.1.4函数HAL_GPIO_WritePin()
5.1.5函数HAL_GPIO_TogglePin()
5.1.6输出寄存器访问
5.2LED流水灯控制
5.3SysTick定时器
5.3.1SysTick定时器概述
5.3.2SysTick定时器寄存器
5.3.3延时函数HAL_Delay()
5.3.4HAL_Delay()延时实例
5.3.5微秒级延时的实现
5.3.6综合延时程序实例
5.4开发经验小结——C语言中的位运算
5.4.1位运算符和位运算
5.4.2嵌入式系统位运算实例
本章小结
思考拓展
第6章按键输入与蜂鸣器
6.1GPIO输入库函数
6.1.1函数HAL_GPIO_ReadPin()
6.1.2输入数据寄存器访问
6.1.3函数HAL_GPIO_LockPin()
6.2独立按键控制蜂鸣器
6.2.1电路原理
6.2.2按键消抖
6.2.3项目实施
6.3矩阵键盘扫描
6.3.1矩阵键盘电路
6.3.2矩阵键盘扫描原理
6.3.3矩阵键盘实例
6.4开发经验小结——复合数据类型
6.4.1结构体数据类型
6.4.2枚举数据类型
本章小结
思考拓展
第7章FSMC总线与双显示终端
7.1FSMC总线
7.2硬件系统设计
7.2.1硬件结构框图
7.2.2FSMC与TFT LCD连接
7.2.3FSMC与数码管连接
7.3数码管接口技术
7.3.1数码管工作原理
7.3.2数码管编码方式
7.3.3数码管显示方式
7.4TFT LCD驱动
7.4.1ILI9341颜色体系
7.4.2ILI9341常用命令
7.5项目实例
7.5.1FSMC读写时序
7.5.2FSMC初始化
7.5.3数码管动态显示学号
7.5.4数码管动态显示时间
7.5.5LCD驱动程序
7.5.6LCD英文显示
7.5.7LCD中文信息显示
7.6开发经验小结——C语言指针及其类型转换
7.6.1指针基本概念
7.6.2指针类型转换
本章小结
思考拓展
第8章中断系统与基本应用
8.1中断的基本概念
8.1.1中断的定义
8.1.2中断的优点与应用
8.1.3中断源与中断屏蔽
8.1.4中断处理过程
8.1.5中断优先级与中断嵌套
8.2STM32F407中断系统
8.2.1嵌套向量中断控制器
8.2.2STM32F407中断优先级
8.2.3STM32F407中断向量表
8.2.4STM32F407中断服务函数
8.3STM32F407外部中断/事件控制器EXTI
8.3.1EXTI内部结构
8.3.2EXTI工作原理
8.3.3EXTI主要特性
8.4STM32F407外部中断HAL库函数
8.4.1STM32F407的NVIC相关库函数
8.4.2STM32F407的EXTI相关库函数
8.5EXTI项目实例
8.5.1项目分析
8.5.2项目实施
8.5.3ISR框架总结
8.6开发经验小结——前/后台嵌入式软件架构
本章小结
思考拓展
第9章基本定时器
9.1STM32F407定时器概述
9.2基本定时器
9.2.1基本定时器简介
9.2.2基本定时器的主要特性
9.2.3基本定时器的功能
9.2.4基本定时器寄存器
9.3基本定时器的HAL驱动
9.3.1基本定时器主要HAL驱动函数
9.3.2定时器通用操作宏函数
9.3.3定时器中断处理函数
9.4项目实例
9.4.1数字电子钟
9.4.2定时器刷新数码管
9.4.3定时器矩阵键盘扫描
本章小结
思考拓展
第10章通用定时器
10.1通用定时器功能概述
10.1.1通用定时器主要特性
10.1.2通用定时器功能描述
10.2通用定时器工作模式与HAL驱动
10.2.1PWM输出模式
10.2.2输出比较模式
10.2.3输入捕获模式
10.2.4PWM输入模式
10.3通用定时器寄存器
10.4通用定时器中断事件和回调函数
10.5项目实例
10.5.1PWM呼吸灯
10.5.2输出比较模式输出方波信号
10.5.3输入捕获模式测量脉冲频率
10.5.4PWM波频率和占空比测量
本章小结
思考拓展
第三篇扩 展 外 设
第11章串行通信接口USART
11.1数据通信基本概念
11.1.1并行通信与串行通信
11.1.2异步通信与同步通信
11.1.3串行通信的制式
11.1.4串行通信的校验
11.1.5串行通信的波特率
11.2USART工作原理
11.2.1USART介绍
11.2.2USART功能特性
11.2.3UART通信协议
11.2.4USART中断
11.2.5USART相关寄存器
11.3UART的HAL驱动
11.3.1UART常用功能函数
11.3.2UART常用的宏函数
11.3.3UART中断事件与回调函数
11.4串口通信项目实例
11.4.1项目分析
11.4.2微控制器端程序设计
11.4.3上位机程序设计
11.4.4串口通信调试
11.5开发经验小结——printf()重定向函数
11.5.1重写fputc()函数
11.5.2选择使用Micro LIB
11.5.3printf()串口打印信息
本章小结
思考拓展
第12章SPI与字库存储
12.1SPI通信原理
12.1.1SPI
12.1.2SPI互连
12.2STM32F407的SPI工作原理
12.2.1SPI主要特征
12.2.2SPI内部结构
12.2.3时钟信号的相位和极性
12.2.4数据帧格式
12.3Flash存储芯片W25Q128
12.3.1硬件接口和连接
12.3.2存储空间划分
12.3.3数据读写原则
12.3.4存储器操作指令
12.4SPI的HAL库驱动
12.4.1SPI寄存器操作的宏函数
12.4.2SPI初始化和阻塞式数据传输
12.4.3中断和DMA方式数据传输
12.5SPI Flash读写测试
12.5.1项目分析
12.5.2项目实施
12.6中文字库存储
12.6.1需求分析
12.6.2字库生成与合并
12.6.3字库存储
12.6.4LCD中文驱动程序
12.7基于SPI闪存的中文显示
12.8开发经验小结——条件编译
12.8.1命令形式
12.8.2应用示例
本章小结
思考拓展
第13章I2C接口与EEPROM
13.1I2C通信原理
13.1.1I2C串行总线概述
13.1.2I2C总线的数据传送
13.2STM32F407的I2C接口
13.2.1STM32F407的I2C主要特性
13.2.2STM32F407的I2C内部结构
13.2.3STM32F407的I2C工作模式
13.3I2C接口的HAL库驱动
13.3.1I2C接口的初始化
13.3.2阻塞式数据传输
13.3.3中断方式数据传输
13.3.4DMA方式数据传输
13.4EEPROM存储芯片24C02
13.4.1芯片概述与硬件连接
13.4.2接口与通信协议
13.5EEPROM存储开机密码项目
13.5.1项目分析
13.5.2项目实施
本章小结
思考拓展
第14章模/数转换与光照传感器
14.1ADC概述
14.1.1ADC基本原理
14.1.2ADC性能参数
14.1.3ADC主要类型
14.2STM32F407的ADC工作原理
14.2.1主要特征
14.2.2内部结构
14.2.3通道及分组
14.2.4时序图
14.2.5数据对齐
14.2.6校准
14.2.7转换时间
14.2.8转换模式
14.2.9外部触发转换和触发极性
14.2.10中断和DMA请求
14.2.11多重ADC模式
14.3ADC的HAL库驱动
14.3.1规则通道驱动
14.3.2注入通道驱动
14.3.3多重ADC驱动
14.4项目实例
14.4.1多通道轮询方式模拟信号采集
14.4.2光照传感器模拟与数字同步控制
本章小结
思考拓展
第15章直接存储器访问
15.1DMA的基本概念
15.1.1DMA的由来
15.1.2DMA的定义
15.1.3DMA的优点
15.2STM32F407的DMA工作原理
15.2.1DMA简介
15.2.2DMA通道选择
15.2.3DMA主要特性
15.2.4DMA传输属性
15.3DMA的HAL库驱动
15.3.1DMA的HAL函数概述
15.3.2DMA传输初始化配置
15.3.3启动DMA数据传输
15.3.4DMA中断
15.4项目实例
15.4.1USART接口DMA传输
15.4.2定时器触发DMA传输多通道模拟量采集
15.4.3三重ADC同步转换DMA传输
15.5开发经验小结——轮询、中断、DMA
15.5.1轮询
15.5.2中断
15.5.3DMA
本章小结
思考拓展
第16章数/模转换器
16.1DAC概述
16.1.1DAC基本原理
16.1.2DAC性能参数
16.2STM32F407的DAC工作原理
16.2.1DAC结构与特性
16.2.2DAC功能说明
16.3DAC的HAL库驱动
16.3.1DAC驱动宏函数
16.3.2DAC驱动功能函数
16.4项目实例
16.4.1软件触发D/A转换
16.4.2三角波输出
16.4.3使用DMA输出正弦波信号
本章小结
思考拓展
第17章位带操作与温湿度传感器
17.1STM32位带操作
17.1.1位带介绍
17.1.2位带区与位带别名区地址转换
17.1.3位带操作宏定义
17.2温湿度传感器DHT11
17.2.1DHT11功能说明
17.2.2DHT11单总线通信协议
17.3温湿度实时监测
17.3.1项目分析
17.3.2项目实施
本章小结
思考拓展
第18章RTC与蓝牙通信
18.1RTC概述
18.1.1RTC功能
18.1.2RTC工作原理
18.1.3RTC的中断和复用引脚
18.2RTC的HAL库驱动
18.2.1RTC的HAL基础驱动程序
18.2.2周期唤醒相关HAL函数
18.2.3闹钟相关HAL函数
18.3备份寄存器
18.4RTC日历和闹钟项目
18.4.1项目分析
18.4.2项目实施
18.5蓝牙模块通信
18.5.1蓝牙通信概述
18.5.2蓝牙透明传输原理
18.6无线时间同步电子万年历
18.6.1项目分析
18.6.2项目实施
本章小结
思考拓展
附录AASCII码表
附录B运算符和结合性关系表
附录CSTM32F407微控制器引脚定义表
参考文献
2020年1月,作者出版了《ARM CortexM3嵌入式原理及应用——基于STM32F103微控制器》。该书自出版以来,被国内百余所高校选为教材,年销万余册,并先后荣获清华大学出版社畅销图书、科技类最受读者欢迎图书和苏州大学精品教材等荣誉称号,获得读者的普遍好评,令作者深受鼓舞,决定再编著一部既注重入门,又兼顾提高的嵌入式系统项目式教材。
1. 出版背景
“青山遮不住,毕竟东流去!”虽然我们已经积累了大量的经典的8位单片机(如MCS51)、16位单片机(如MSP430)的技术资料,但是复杂的指令、较低的主频、有限的存储空间、极少的片上外设,使其在面对复杂应用时,捉襟见肘,难以胜任。8位、16位单片机的应用不会就此结束,32位处理器时代已经到来。
在这个大环境下,ARM CortexM处理器轰轰烈烈地诞生了!它性能更强、功耗更低、易于使用。许多曾经只能求助于高级32位处理器或DSP的软件设计,都能在ARM CortexM处理器上跑得很快。按照ARM公司的经营策略,公司只负责设计处理器IP核,而不生产和销售具体的处理器芯片。在诸多半导体制造商中,意法半导体(ST Microelectronics)公司较早在市场上推出基于ARM CortexM内核的微控制器产品,其根据ARM CortexM内核设计生产的STM32微控制器充分发挥了低成本、低功耗、高性价比的优势,以系列化的方式推出,方便用户选择,受到了广泛的好评。在众多STM32微控制器产品中,基于ARM CortexM3内核的STM32F103微控制器和基于ARM CortexM4内核的STM32F407微控制器较为用户所了解,市场占有率很高,很多嵌入式教材也是以二者之一为蓝本进行讲解的。相比于STM32F103微控制器,STM32F407在内核、资源、外设、性能、功耗等多方面均有较大增强,而二者价格相差并不大,所以本书选择以STM32F407为背景机型进行讲解。
STM32支持的四种开发方式中的寄存器开发方式和LL库开发方式较少使用,嵌入式软件工程师往往会在标准库开发方式和HAL库开发方式之间艰难抉择。近年来,随着硬件性能逐步提升和STM32CubeMX软件的更新升级,HAL库开发方式的高效、便捷和通用性得到进一步的彰显,选择的天平逐渐倾向于HAL库开发方式。作者实践和比较了两种开发方式之后,发现HAL库开发方式较标准库开发方式可以明显减少代码量,大幅降低编程人员翻阅数据手册的频率,研发周期大幅缩短,可靠性显著提升。虽然HAL库开发方式不是完美无瑕,但利远大于弊,它是未来嵌入式开发的技术方向,也是STM32官方主推的开发方式。所以,本书介绍的软件设计是基于图形化配置工具STM32CubeMX的HAL库开发,这是当前技术主流,具有一定的前瞻性。
2. 内容简介
针对上述情况,作者根据多年的嵌入式系统教学和开发经验编写了本书,试图做到循序渐进,理论与实践并重,共性与个性兼顾,将嵌入式系统的理论知识和基于ARM CortexM4内核的STM32F407微控制器的实际开发相结合。
全书共18章,划分为以下三篇。
第一篇(第1~3章)为系统平台。第1章介绍了嵌入式系统定义、ARM内核以及基于ARM CortexM4内核的STM32微控制器; 第2章对STM32F407微控制器和开发板硬件平台各模块进行详细介绍; 第3章介绍STM32软件环境配置与使用入门。
第二篇(第4~10章)为基本外设,分别对STM32嵌入式系统最常用外设模块进行介绍。第4章讲解通用输入输出端口; 第5章讲解LED流水灯与SysTick定时器; 第6章讲解按键输入与蜂鸣器; 第7章讲解FSMC总线与双显示终端; 第8章讲解中断系统与基本应用; 第9章讲解基本定时器; 第10章讲解通用定时器。
第三篇(第11~18章)为扩展外设,分别对STM32嵌入式系统高级外设模块进行介绍。第11章讲解串行通信接口USART; 第12章讲解SPI与字库存储; 第13章讲解I2C接口与EEPROM; 第14章讲解模/数转换与光照传感器; 第15章讲解直接存储器访问; 第16章讲解数/模转换器; 第17章讲解位带操作与温湿度传感器; 第18章讲解RTC与蓝牙通信。
无论是基本外设,还是扩展外设,从第4章开始到第18章结束,每一章先对理论知识进行讲解,然后引入项目实例,给出项目实施具体步骤,项目可以在课堂完成。整个教学理论与实践一体,学中做,做中学。
3. 本书特色
(1) 以学生认知过程为导向,设计本书逻辑,组织章节内容。先硬件后软件,由浅入深,循序渐进; 遵循理论够用,重在实践,容易上手的原则,培养学习兴趣,激发学习动力。
(2) 项目引领,任务驱动,教学做一体,注重学生工程实践能力的培养。对于每个典型外设模块,在简明扼要地阐述原理的基础上,围绕其应用,以案例的形式讨论其设计精髓,并在书中给出了完整的工程案例。
(3) 传承51经典,发扬ARM长处,助推MCU升级。ARM嵌入式系统实际上是8位单片机的升级扩展,但是其高性能必然对应高复杂度。借助8位单片机共性的理念、方法和案例,有助于提升读者学习兴趣,使其轻松入门嵌入式开发。
4. 配套资源
“不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之”。学习新东西时,没有什么比实践更重要的了!为此,作者从硬件和软件两个方面为读者创建了良好的实践环境。
在硬件方面,本书设计了如下模块: ①板载CMSISDAP调试器; ②使用FSMC总线同时连接数码管和TFT LCD; ③独立按键/矩阵键盘切换电路; ④使用片外SPI Flash芯片存储中文字库。读者可直接购买本书配套开发板,也可以将本书项目移植到已有开发板,还可以自主设计开发板。
在软件方面,本书提供了配套实例的程序代码,便于读者开发验证。此外,本书还提供了教学课件、教学大纲、实验素材等教学资源。
5. 致谢
在本书的撰写过程中参阅了许多资料,在此对所参考书籍的作者表示诚挚的感谢。本书在编写过程中引用了互联网上最新资讯及报道,在此向原作者和刊发机构表示真挚的谢意,并对不能一一注明来源深表歉意。对于收集到的没有标明出处或找不到出处的共享资料,以及一些进行加工、修改后纳入本书的资料,在此郑重声明,本书内容仅用于教学,其著作权属于原作者,并向他们表示致敬和感谢。
在本书的编写过程中,作者得到了家人的理解和帮助,并且一直得到清华大学出版社盛东亮老师和钟志芳老师的关心和大力支持,清华大学出版社的工作人员也付出了辛勤的劳动,在此谨向支持和关心本书编著的家人、同仁和朋友一并致谢。
由于嵌入式技术发展日新月异,加之作者水平有限,书中难免有疏漏和不足之处,恳请广大读者批评指正。如果读者对本书有任何意见、建议和想法,或希望获取本书配套开发板的更多技术支持,请与作者联系。
作者2024年2月
孙立宁 苏州大学特聘教授、俄罗斯工程院院士
嵌入式系统百花齐放、百家争鸣。STM32系列微处理器异军突起,成为嵌入式系统课程教学的主流。《ARM Cortex-M4嵌入式系统原理及应用——基于STM32F407微控制器的HAL库开发》独树一帜,理论与实践并重,共性与个性兼顾,先引导读者循序渐进学习基础知识,然后逐步完成复杂的系统设计,带领读者开启美妙的嵌入式系统开发之旅。
吴国伟 大连理工大学软件学院院长
《ARM Cortex-M4嵌入式系统原理及应用——基于STM32F407微控制器的HAL库开发》旨在传承51单片机经典,发扬ARM嵌入式芯片长处,助推MCU升级。ARM嵌入式系统实际上是8位单片机的扩展,但是其高性能特性必然对应于更复杂的系统设计。借助8位单片机的理念、方法和案例,可以提高读者的学习兴趣,轻松入门。
宋廷强 青岛科技大学信息科学技术学院副院长
《ARM Cortex-M4嵌入式系统原理及应用——基于STM32F407微控制器的HAL库开发》根据读者认知规律组织书中各章内容,先讲硬件后讲软件,由浅入深,循序渐进。全书遵循理论够用,重在实践,易于上手的原则,培养读者的学习兴趣,激发读者的学习动力;对复杂的嵌入式项目娓娓道来,条理清晰,令人赏心悦目。
李永华 北京邮电大学通信工程学院教授
《ARM Cortex-M4嵌入式系统原理及应用——基于STM32F407微控制器的HAL库开发》采取项目引领,任务驱动的方式,强调“教”“学”“做”一体化,注重读者工程实践能力的培养。对于每一个典型外设模块,在简明扼要阐述原理后,解释其设计思想,并给出完整的工程应用实例。
韩勇 中国移动苏州分公司嵌入式系统高级工程师
《ARM Cortex-M4嵌入式系统原理及应用——基于STM32F407微控制器的HAL库开发》突出的特点就是紧跟时代步伐,选用性能强劲的STM32F4微控制器,采用基于CubeMX的HAL开发方式,从实战角度论述其设计思路、编程技巧和控制算法。该书提供教学课件、教学视频、教学大纲、程序代码和实验素材等全方位、立体化的教学资源,轻松助力嵌入式系统的教学与项目开发。
评论
还没有评论。