·这其实本来是写给师弟的,但是既然写了那么多,也放在CSDN上面当作我过去学习过程的总结把,可能排版没有那么精美清晰,但是都是我自己的一些感悟,如有错处希望大家不吝赐教。感谢
好的那现在正文开始:
STM32学习建议:
1.基础实践:江科大stm32教程(哔哩哔哩)————>进阶:正点原子教程————>更高阶:什么是状态机,什么是操作系统
图1:江科大教程
2.总结学习32单片机要掌握的最重要的东西:
(1)GPIO:
- 输出(例如:LED灯,高低电平从单片机io口输出)
- 输入(例如:某些传感器只输出高低电平的信号,让stm32的口来读取,如果身边有电压表可以将正极放在传感器的信号口,负极放在负极测量电压,会发现高电压--3.3V,低电压--0V)
- 触发外部中断(用传感器信号控制LED的点亮与关断,这里很重要,了解程序进入中断与一直再main函数中执行的区别)
(2)OLED的显示(懂原理就行):
后续使用基本都是直接调用,但是网上应该有很多种字库,大小不同,部分还包含中文字库
(3)定时器的使用(TIM):
- 中断:各个配置参数的含义以及如何计算其定时周期(此处与上文的外部中断进行对比,思考二者的区别)
- 输出:(电机、舵机):两种不同的控制方式,控制速度和角度,建议在学会180度舵机的控制原理的基础上了解360度舵机如何控制
- 读取:编码器(进阶:PID闭环控制电机)
(4)模数转换(adc):
大部分的传感器都是使用这一种方式进行数据传输的
(了解数字量与模拟量的区别、区分单通道与多通道)
(5)串口通信(UART):
应用也比较多,比如串口屏,还有两块单片机之间的交互也基本上用的串口通信
(6)IIC(i方c通信):
常见的就是MPU6050,但是容易有漂移可以拓展看看如何解决其零漂等问题,同时引申常见滤波方法(卡尔曼)、四元数转换等问题
(7)SPI通信:
使用时在了解原理,再结合上述学习的情况下,相信你可以很快在网上找到相关资源并调用了。
3. 遇见BUG解决思路:
- 编译报错:复制错误去百度上面搜索,遇见付费的CSDN先别管,换个网页会找到的,不要去给CSDN花钱
- 编译无错功能无法实现:先看代码再看硬件(杜邦线仙人最容易出问题,所以要仔细检查,尽量避免)
- 遇见问题实在无法解决再chat,不然会降低你找错的能力
图2:学姐的器件清单