还是哪个永恒的话题的,学习!(今天回家已经很晚了,本来不打算写东西的,不过一直读野火的书,赶紧很好,这里就分享一下)
应出版社要求,《STM32库开发实战指南》的电子版不能同名,所以《零死角玩转STM32》即《STM32库开发实战指南》的电子版
就是第一本书
火哥的书真的是很多人的老师,全面,详细是我对他的评价。
这个一开始是从标准库的开始学习的
学习路线
看这个就好
C语言编程(必须)
基本电子电路概念
①.了解STM32芯片
②.了解STM32芯片开发本质即是通过汇编或者C语言向芯片内部各外设寄存器写入数值,具体数值与功能模式从芯片手册查阅得出。
③.在理解 ② 的基础上,利用官方提供的标准固件库或者HAL库对外设寄存器与数值功能的封装,用户可以更好方便进行编程。
④.理解了如何使用标准固件库或者HAL库的编程方式后,逐步学习芯片内部常用外设和功能:GPIO普通输入输出、中断、定时器、串口、SPI、I2C、ADC、液晶屏幕显示基础界面、SDIO等等
利用例程在开发板底板上的对应连接进行试验,经过上述过程按照教程入门学习掌握了大部分章节后,
再按照自己的需要和设计想法,通过芯片能有的外设和功能外接其他传感器、模块、电路结构等等完成设计。
①.对于任意开发板 STM32芯片本身和大部分常用外设比如GPIO、串口、定时器、SPI、I2C、ADC等等的知识都相通,所以都可以利用底板或者外接上述接口的传感器模块等进行试验,
初学者建议使用F103 F4开发板入门学习即可。
②.F103至F429开发板各自录制有利用标准固件库开发视频。
F767以上官方只提供HAL库,最新录制的HAL库开发视频统一涵盖F1至H7芯片知识点。
关于标准固件库和HAL库选择,没有本质上的差异,只是库整体的封装程度和提供的函数使用方式等等不同,主要的STM32芯片本身知识相通,任意先学习一种和两种都学习加深对比思考都可以。
基础部分为主要学习标准固件库或者HAL库下对芯片外设应用,已经能完成大部分设计想法,在理解掌握基础篇内容后 才能考虑以下部分学习:
①.嵌入式操作系统:FreeRTOS uCOS-III RT-Thread等,按需要任意先学习一个即可,主要原理相通,主要为学习系统提供的API函数操作来控制任务等。
对于普通流程程序可以不用带上嵌入式操作系统,利用官方库裸机编程就可以,当要再学习下面内容先学习例程使用的freertos。
②.emwin GUI库:使用裸机基础液晶驱动例程可以做简单界面,类似于编写程序来用线条方框图片组成,当要实现更丰富复杂的界面时一般需要学习与利用图形GUI库。
③.LWIP :适合在嵌入式芯片移植的轻量化的TCP/IP协议栈。
STM32F103C6T6系统核心板资料下载
STM32F4x1 烧录工具+相关资料解读
如果没有板子,可以看我写的低成本的板子
选型
48
32KB
绘制原理图时的引脚分类
编程使用的手册
参考手册,很长很详细
这叫数据手册
开源的,自己下载
https://github.com/orgs/Embedfire-stm32f103-zhinanzhe/repositories
地址
https://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html
标准库