我们编写的新书《STM32Cube高效开发教程(基础篇)》终于在各大电商平台上架销售了,这是值得众多STM32开发者入手的一本新书,它是目前市面上第一本采用STM32CubeMX和STM32CubeIDE作为开发软件,系统性地介绍STM32的HAL库开发技术的书。
《STM32Cube高效开发教程》分为《基础篇》和《高级篇》两本,《高级篇》大约在10月份才能正式印刷出来。总结一下,本书具有如下的一些特点。
1. 使用STM32Cube生态系统的开发工具和技术
ST公司现在大力推广其STM32Cube生态系统,STM32各个系列的器件都有STM32Cube固件库,它包含器件的HAL/LL驱动库和一些中间件。ST公司已经不再更新器件的标准库,新型号的器件更是没有标准库,标准库的开发方式必然被淘汰。
图1 STM32系列器件的STM32Cube固件库(来自于ST官方文档)
STM32Cube生态系统包括工具软件和嵌入式软件库,STM32CubeMX和STM32CubeIDE是STM32Cube生态系统的两个核心工具软件。STM32CubeMX用于MCU片上资源和外设的图形化配置,可以生成多种IDE软件的项目框架和外设初始化C语言代码,可大大提高开发效率。STM32CubeIDE是一个STM32编程IDE软件,使用STM32CubeIDE可以编程、编译、下载和调试。STM32CubeIDE完全可以替代Keil或IAR的商业软件的功能。
对于入门学习STM32开发的学生,或准备用STM32设计新产品的人员来说,使用STM32CubeMX和STM32CubeIDE,依托STM32Cube生态系统的资源进行学习和开发是最佳的选择,因为:
- STM32CubeMX和STM32CubeIDE软件是ST官方提供的免费软件,不用担心使用非授权商业软件可能出现的知识产权风险。
- STM32Cube生态系统提供全套的工具软件,除了STM32CubeMX和STM32CubeIDE,还有STM32CubeProgrammer用于程序烧录,STM32CubeMonitor等软件用于系统监测。
- STM32Cube生态系统具有丰富的嵌入式软件库资源,除了ST官方的MCU固件库和扩展库,还有很多第三方的中间件和扩展库,可缩短项目开发时间。
图2 STM32Cube生态系统(来自于ST官方文档)
2. 内容丰富全面
《STM32Cube高效开发教程》分为《基础篇》和《高级篇》两本,以STM32F407为例,全面介绍相关工具软件的使用、STM32片上资源和外设的HAL编程方法、FreeRTOS等中间件的编程开发方法。
《基础篇》介绍STM32Cube开发方式所用的工具软件,以及STM32F407系统功能和常用外设的使用。《基础篇》共22章,分为两大部分。
● 第一部分是软硬件基础,介绍STM32Cube生态系统的组成,介绍STM32CubeMX、STM32CubeIDE、STM32CubeMonitor软件的使用,介绍STM32F407的基本架构和最小系统电路原理。
● 第二部分介绍STM32F407系统功能和常用外设的原理和编程方法,包括中断系统原理和使用、DMA原理和使用、低功耗原理和使用,以及定时器、RTC、ADC、USART、SPI、I2C等常用外设的编程方法。
《高级篇》介绍固件库中一些中间件的使用,还介绍一些高级接口的使用。《高级篇》共22章,也从第1章开始编号,内容分为三大部分。
● 第一部分是嵌入式操作系统FreeRTOS的使用,包含11章内容,全面介绍了FreeRTOS各种功能的使用,包括任务管理、中断管理、进程间通信技术等,其中进程间通信技术包括队列、信号量、互斥量、事件组、任务通知、流缓冲区和消息缓冲区。
● 第二部分是使用FatFS管理文件系统,包含6章内容。这一部分介绍了在SPI接口Flash芯片上移植FatFS的过程,在SD卡、U盘上使用FatFS管理文件系统的方法。
● 第三部分是图片的获取与显示,包含5章内容。这一部分介绍了BMP和JPG图片文件的读写和显示,电阻式触摸屏和电容式触摸屏的使用,以及简单的GUI程序设计方法。
在介绍具体外设或知识点的每一章中,本书先介绍技术原理和HAL驱动程序,然后编写至少1个完整示例项目,并且在一个STM32F407开发板上测试验证过。
3. 提供丰富的配套资源
STM32是软硬件结合的编程,程序需要在开发板上运行,才能看到效果。为了让读者更好的理解书中介绍的原理,以及看到示例运行的效果,本书提供了多种配套资源。
- 全书所有示例项目的源代码
- 开发板电路原理图
- 全书所有示例项目在开发板上运行的演示视频,这些视频上传到了B站上,搜索“STM32Cube高效开发教程”就可以找到。
- 所有示例运行的过程的图片整理成了一个PDF文件,可供下载后随时查看。
- 各章课件的PDF版本。如果有读者需要选用此书作为教材,可向作者发邮件获取PPT版本课件。
此外,我们还建立了读者QQ群,欢迎读者加入QQ群交流学习,一些补充的资源可能就会发布到QQ群里。
图3 发布在B站上的示例运行演示视频
4. 精雕细琢见真章
2019年年初,为准备本科生教学内容,我们开始编写本书,到2020年夏天才定稿。中间经过多个版本的修改,曾以部分内容作为课程讲义,给中国石油大学(华东)2016级和2017级自动化和测控专业的学生在两门课程的教学中使用。学生普遍反映讲义内容详细,容易看懂和学会。在使用过程中,我们采纳了学生提出的一些有益的修改意见,也对发现的一些错误或遗漏进行了修订。
交稿后又经过一年时间的编辑和校对,期间发现的错误也及时修改。出版社的编辑们严格按照出版物的要求,对书中大量的电路图和结构框图重新作图,经过了多次校对和修改,以确保图书内容的规范性、严谨性和正确性。最后的成书很是惊艳,印刷和装订质量很好。
图4 印刷出来的成品书
这是作者和编辑们历时超过两年半合力精心打造的一本书,印刷质量是看得见摸得着的,内容质量也绝不会让你失望,因为我们是专业的,认真的。为师者,唯恐学生学不会,唯恐自己讲的不清楚。我们将自己擅长的一点东西认认真真写出来,一遍一遍地优化程序,一遍一遍地完善文字,只为写出一本好书。
附:三位作者都是博士,都是中国石油大学(华东)控制科学与工程学院的教师。