轻松玩转STM32Cube epub pdf mobi txt 电子书 下载 2024
发表于2024-11-22
轻松玩转STM32Cube epub pdf mobi txt 电子书 下载 2024
这是一本介绍如何使用STM32Cube组件学习STM32微控制器的入门教材,是一个工程师自身学习STM32过程的经验总结。全书紧紧围绕《STM32F10xxx参考手册》,结合STM32CubeF1软件包提供的例程进行分析、讲解、重新生成,全面、系统地介绍了STM32F103的各个功能项。这是一本教你STM32微控制器具体学习方法的教材。其先从HAL固件库例程入手,而后结合STM32参考手册、数据手册、ARM Cortex-M3**指南、Cortex-M3编程手册等ST和ARM两公司提供的原始资料进行深入、详细的讲解,*后,通过可视化图形配置工具STM32CubeMX重新生成例程。该方法几乎可以推广于STM32微控制器的任何一款芯片,也是经验丰富的工程师*快了解一款芯片的“独门绝技”。
杨百军,笔名老杨,曾就职于中航工业集团,主要研究微控制器、微处理器及嵌入式系统的移植与优化,具有丰富的传感器与检测技术、生物识别技术、远程无线抄表技术及锂电池管理系统(BMS)的开发与教学经验。
基础篇
第1章 选择开发板
1.1 国外的开发板
1.2 国内的开发板
1.3 Nucleo-F103RB开发板
1.4 思考与练习
第2章 走近STM32
2.1 认识STM32
2.2 STM32与Cortex-M3的关系
2.3 Cortex-M3与ARM
2.4 思考与练习
第3章 认识MDK-ARM
3.1 开发工具介绍
3.2 MDK-ARM的安装与注册
3.2.1 MDK-ARM的安装
3.2.2 注册MDK-ARM
3.3 从例程入手
3.3.1 了解MDK-ARM
3.3.2 例程Blinky
3.4 思考与练习
第4章 初识STM32Cube
4.1 STM32CubeMX
4.2 STM32Cube软件包
4.3 STM32CubeF1实例
4.4 思考与练习
入门篇
第5章 跑马灯实验
5.1 例程GPIO_IOToggle
5.2 分析例程GPIO_IOToggle
5.2.1 解析HAL_Init函数
5.2.2 解析SystemClock_Config函数
5.2.3 解析LED2_GPIO_CLK_ENABLE函数
5.2.4 解析HAL_GPIO_Init函数
5.2.5 为何LED灯能闪烁
5.3 新建例程
5.3.1 重新创建例程
5.3.2 完善例程
5.4 思考与练习
第6章 外部中断
6.1 例程GPIO_EXTI
6.2 分析例程
6.2.1 分析例程GPIO_EXTI
6.2.2 解析stm32f10x_it.c
6.3 移植例程
6.3.1 创建例程MyEXTI
6.3.2 外部中断小结
6.3.3 硬件仿真
6.4 思考与练习
第7章 串口通信USART
7.1 有关USART
7.2 例程UART_Printf
7.2.1 使用例程
7.2.2 新建例程MyPrintf
7.2.3 分析例程
7.3 例程ComPolling
7.3.1 例程介绍
7.3.2 分析例程
7.3.3 重建例程
7.4 例程UART_TwoBoards_ComIT
7.4.1 例程介绍
7.4.2 分析例程
7.4.3 重新生成例程
7.4.4 完善工程
7.5 思考与练习
第8章 DMA控制器
8.1 认识DMA控制器
8.2 例程UART_HyperTerminal_DMA
8.2.1 例程介绍
8.2.2 分析例程
8.2.3 重建例程UART_HyperTerminal_DMA
8.3 思考与练习
第9章 完美定时器
9.1 了解定时器
9.2 例程TIM_TimeBase
9.2.1 例程介绍
9.2.2 分析例程
9.2.3 重建例程
9.3 例程TIM_DMA
9.3.1 例程介绍
9.3.2 分析例程
9.3.3 重新生成例程
9.4 思考与练习
第10章 模数转换ADC
10.1 模数转换器ADC
10.2 例程ADC_Sequencer
10.2.1 例程介绍
10.2.2 分析例程
10.2.3 重建例程
10.3 思考与练习
提高篇
第11章 实时操作系统FreeRTOS
11.1 了解操作系统
11.2 例程FreeRTOS_ThreadCreation
11.2.1 例程介绍
11.2.2 分析例程
11.2.3 重建例程
11.2.4 完善例程
11.2.5 扩展例程
11.3 思考与练习
附录
附录A 中容量STMF103xB模块框图
附录B 中容量STMF103xB时钟树
附录C STMF103xB存储器映像
附录D 图书资料、网站、开发板推荐
参考文献
前言
前两年在编写《轻松玩转STM32微控制器》一书时,我就注意到ST公司在主推STM32Cube组件,不过由于自己是从标准外设固件库(STM32F10x Standard Peripheral Library缩写SPL)上手的,而且当时网上也有不少对STM32Cube组件的负面评价,尝试之后也发现它的一些不完善之处,因而当时还是选择标准外设固件库进行编写的。
然而,随着这两年对STM32Cube组件的深入了解,以及ST公司对STM32Cube组件的不断完善,加上自己也慢慢习惯于STM32CubeMX生成C语言工程的便捷,越来越觉得有必要写一本有关STM32Cube组件的入门书籍。
其实,对一个新事物,大家总有一个从慢慢了解到习惯的过程。开始大家都是从标准外设库入门的,而且网上所卖开发板提供的例程大多也是基于标准外设库的,因而在学习与工作过程中,人们就慢慢习惯于标准外设库的开发。其实,在ST公司推出STM32Cube组件和硬件抽象层固件库(Hardware Abstracton Layer,HAL)时就招到很多人的质疑和排斥,比较网上所卖开发板提供的例程你会发现,STM32F1xx系列的开发板几乎都是基于标准外设库开发板时,清一色提供的都是基于HAL库的,因为ST公司没有推出基于该系列微控制器的SPL库(至少目前没有还推出)。由此可见,学习STM32微控制器,使用HAL库和STM32Cube组件也是大势所趋,即使“资深工程师”也在慢慢适应技术的更新。
使用图形配置工具STM32CubeMX可以快速便捷地生成STM32微控制器的C语言工程框架,开发者只需在工程中实现自己的应用代码就可以了。然而,这并不是说就不用对STM32微控制器进行学习了。在配置STM32CubeMX的过程中你会发现,还有很多STM32微控制器的知识点需要了解,才能有目的地配置,否则也只能对着该工具无所适从。
说到STM32Cube组件和STM32微控制器的学习,ST公司提供了大量的技术资料。有关图形配置工具STM32CubeMX和STM32CubeF1软件包,可以重点参考的资料有:
STM32CubeMX for STM32 Configuration and initialization C code generation(STM32CubeMX用户手册,UM1718);
Getting started with STM32CubeF1 firmware package for STM32F1 Series(STM32CubeF1用户手册,UM1847);
Description of STM32F1xx HAL drivers(HAL库用户手册,UM1850);
STM32Cube firmware examples for STM32F1 Series(STM32Cube应用手册,AN4724)。
有关STM32微控制器的参考资料就更多了,简单列举入门学习时需要重点参考的有:
《ARM Cortex-M3权威指南》(宋岩译);
The Cortex-M3 Technical Reference Manual(Cortex-M3技术参考手册);
STM32F10xxx Reference manual(STM32F10xxx参考手册,RM0008);
STM32F10xxx Cortex-M3 Pramming manual(STM32F10xxx Cortex-M3编程手册,PM0056);
STM32F10xxx Flash programming manual(STM32F10xxx Flash编程手册,PM0075);
DS5319:STM32F103x8、STM32F103xB Datasheet(数据手册);
DS5792:STM32F103xC、STM32F103xD、STM32F103xD Datasheet(数据手册);
MDK-ARM开发环境、例程及帮助文档;
其他相关器件数据手册及网络资料。
学习新知识,没有资料可以参考时,会觉得很难;资料太多时,会不知所措,不知哪里应该重点学习,如何才能快速上手。写作本书的目的就是结合ST公司和ARM公司提供的丰富资料,引领读者找到属于自己的学习方法。本书从ST的官网入手,指导读者如何获取技术资料,然后从STM32CubeF1软件包提供的例程入手,引导读者如何利用找到的资料,通过例程慢慢了解哪些资料应该在什么时间段使用。通过例程的功能认识、分析代码、重新生成,慢慢将例程变为自己的应用实现,在学习的过程中总结技术资料应该如何利用、参考,同时总结出一套属于自己的学习方法。
其实,从学习方法上引导读者学习,本就是我选择技术写作这条路的初衷。
《轻松玩51单片机》一书是通过简单的例程,让单片机入门者有一个轻松的入门过程,在快乐中学习,在学习中找到兴趣。
《AVR单片机工程师是怎么炼成的》一书在《轻松玩51单片机》中例程的基础上引入了数据手册(Datasheet)的参考,引导读者学习嵌入式开发要学会使用数据手册。
本书和《轻松玩转STM32微控制器》是引导读者如何通过产品官网获取技术资料,而后通过例程入手学习如何使用丰富的技术资料。
通过这样一个台阶一个台阶地学习,希望读者能够找到一套自己的学习方法,由开始需要借助图书,慢慢学会使用数据手册,最终可以脱离图书,直接根据自己的需要找到技术资料,从例程入门学习,然后实现自己应用工程的开发。
入门建议
我还算不上STM32微控制器的资深工程师,只是早入门了两年而已,因而也不敢在读者面前讲太多高深的理论。本书只是告诉读者如何利用ST公司和ARM公司提供的丰富免费资源快速入门。对于有信心可以自学的读者,我在此提供一条学习路径:
先阅读STM32F10xxx参考手册的前几个章节,对STM32有个初步的认识;接下来再阅读宋岩先生翻译的《ARM Cortex-M3权威指南》,也不需要看完、吃透,对其内核有个了解就可以了;然后就可以阅读STM32CubeMX用户手册UM1718和STM32CubeF1用户手册UM1847,使用STM32CubeF1软件包提供的例程,结合ST公司提供的硬件抽象层固件库(HAL)的源代码及其用户手册UM1850进行学习;在学习例程时要学会针对例程再去学习STM32F10xxx参考手册的相关章节。
STM32入门的门槛相对于8位单片机是高了些,不过按上面的路径入门之后,后面的路怎么走,读者心里就会清楚许多。本书也正是按照这条路径来引导读者使用STM32CubeMX和MDK-ARM学习STM32微控制器的。书中并没讲什么高深的内容,只是在例程适当的地方加以注释,让新手少走点弯路,轻松入门而已。
开发板选型
目前市面上的开发板很多,质量参差不齐,当然是“王婆卖爪,自卖自夸”。其实从主芯片是没有本质区别的,不管使用的是L系列、M系列,还是H系列,都不会影响基本内容的学习。也就是说,对于STM32入门,几乎所有的开发板都可以满足要求。它们的区别是板上有多少外设,对后期进一步的深入学习会有哪些影响。另外,也要看读者想在哪方面进一步深入学习,不一定非要盲目选择外设丰富的。例如,想学习物联网、无线通信,当然要选择有这些接口、提供丰富例程的开发板;而如果只是想低成本入门,那么选择一块几十元的板子就足够了。
我也为本书选择了一块开发板:ST官方提供的Nucleo-F103RB,当然对于入门学习来说,使用其他开发板也是完全可以的,本书只是根据开发板的原理图来分析例程,最后使用STM32CubeMX重建例程而已。
致谢
本书由杨百军编著,参与本书编写的还有陈泽慧、陈锦权、段富军、高维娜、龚钦青、黄得建、康磊、李楠、聂运中、王路、王盛、杨俊杰、张延杰和周宏云。另外,印舟、刘帅、黄雅琴、史蕊、于维涛、周乐平等也为本书的编写提供了大量的帮助。
“学然后知不足,教然后知困”,由于作者水平有限,书中难免会出现一些错误,若读者有疑问或建议,希望能发电子邮件与我沟通。我的电子邮箱:young45@126�眂om,也可通过我的博客young45�眀log�眂hinaunix�眓et来了解相关内容。
最后,感谢我的家人和朋友,特别是父母,能放任我如此自由地写作,没有给我太多的压力;也感谢洛阳的师长和同事:刁海南、张文勇、郭锐、齐文钊、陈剑、李为民、赵博、尹国利、谢永进等,嵌入式这条路是在工作之后走上的,若没有这些前辈的指点,也就没有我的今天;感谢在大学、中学谆谆教导过我的老师:杨明祥、高克权、杨万才、李小申、程东明、张晓红、黎蔚、王辉、刘勇等,杨明祥老师帮我走进了河南科技大学(原洛阳工学院),数理学院的老师为我铺垫了良好的逻辑分析能力,计算机方向的老师帮我走进了IT行业,由衷地感谢他们的帮助和指引;还有前几本书的读者,特别是那些来信给出建议的读者,如郭凯、张锋、王帅阳、牛鹏举、竹显涛、刘帅、宋文帅等,他们的感谢、鼓励和建议为我继续写作增添了动力;感谢曾经帮助过我的师长、朋友:郝云鹏、黄桂平、钦桂勤、段富军、许元霄、高金龙、申雷等,正是在他们的鼓励与帮助下,我完成了这五本图书的编写,在此一并表示感谢;也感谢电子工业出版社的王敬栋、张剑、苏颖杰及其他编辑朋友;最后,感谢人生路上伴我走过的朋友们。
杨百军
轻松玩转STM32Cube epub pdf mobi txt 电子书 下载 2024
轻松玩转STM32Cube 下载 epub mobi pdf txt 电子书 2024轻松玩转STM32Cube mobi pdf epub txt 电子书 下载 2024
轻松玩转STM32Cube epub pdf mobi txt 电子书 下载此用户未填写评价内容
评分会的人看可以,不会的,看了还是不会。
评分红红火火恍恍惚惚红红火火恍恍惚惚
评分红红火火恍恍惚惚红红火火恍恍惚惚
评分快速建立sTM32工程
评分这本书很差,很多都是罗列代码或注释,让读者自己看,或者去参考其他官方说明书,不知道这本书存在的意义是什么,轻松玩转STM32Cube,真的不轻松。
评分此用户未填写评价内容
评分这本书很差,很多都是罗列代码或注释,让读者自己看,或者去参考其他官方说明书,不知道这本书存在的意义是什么,轻松玩转STM32Cube,真的不轻松。
评分红红火火恍恍惚惚红红火火恍恍惚惚
轻松玩转STM32Cube epub pdf mobi txt 电子书 下载 2024