前言
随着技术的进步,如物联网、人工智能、大数据等新技术的出现,各种新的行业应用层出不穷,8位单片机越来越不能满足以上应用需求。随着32位单片机性价比的不断提高,它在很多行业取代了8位单片机而成为主流机型。STM32系列单片机市场占有率高,技术资料全面丰富,开发成本低,技术更新快,能不断满足新出现的各种需求,在未来的应用会更加广泛。
本书基于STM32F103C8T6单片机讲解了STM32单片机的原理与设计方法。第2版使用了ST公司目前主推的HAL库代替第1版中使用的“库函数”进行设计开发。HAL库可以方便地实现同一个程序在不同型号STM32芯片上的移植和重用。ST公司已逐渐停止了对部分“固件库”的支持和维护,可以预见,使用HAL库进行STM32单片机的开发是未来的趋势。补充了用于电机控制的高级定时器TIM1带死区时间的互补输出。考虑到CAN总线的广泛应用,第2版使用了CAN总线接口代替第1版中的I2C接口。本书例程使用STM32F103 HAL库开发,所有例程都已经过调试,可以实际运行。由于篇幅所限,书中只提供了程序的核心部分(完整程序可在清华大学出版社网站本书页面下载)。单片机的学习离不开实践,选用STM32F103C8T6型号就是因为这种型号的最小系统板价格低廉、内置外设足够学习使用、性价比高、购买方便,可以很容易地自行搭建实验环境。
本书由长期从事该课程教学的一线教师编写。第1、4章由杜诚编写,第2、3章和第5~10章由向培素编写,全书由向培素统稿审阅,由向培素完成第2版的HAL库例程代码更新。
本书在撰写过程中参阅了许多资料,在此对所有资料的作者表示诚挚的感谢,并对没有一一注明出处的作者表示歉意。对于书中所使用的没有注明出处或找不到出处的资料,在此郑重声明,本书内容仅用于教学,其著作权属于原作者,在此一并表示感谢。
由于时间紧促,书中难免有不妥之处,望广大读者多多提出宝贵意见。
编者2026年1月
