如何系统地入门学习stm32?
我从事单片机开发多年,用过非常多芯片,有stc、中颖、GD、新唐、BLE、Zigbee、NXP、还有一些国产SOC等等,唯独ST的让我最省心,不管是STM8还是STM32。
省心只要是体现在稳定,只需要按照常规方法配置就不会有乱七八糟奇奇怪怪的问题出现。
之前碰到过最蛋疼的芯片,有些Flash会掉数据,有些串口不稳定,最后还得用程序来规避芯片的不人性化,明明1个小时能搞定的,硬是给这些奇怪的问题拖了几天。
如果说在样品阶段测试出来还好,如果是大批量才慢慢出现这些问题,估计老板撕了你的心都有。
所以在成本要求不是特别苛刻的情况下,我一般都会用ST的。
STM32对刚入门的不是那么友好,但是对有一点开发经验的,还是能大大缩短开发周期的。
那新手要如何去学习STM32呢?无际根据自己的经历总结出最有建设性的学习方法,如果你能适应这种学习方法,1周搞定stm32绝对没问题!
1. 改变思维
当你有系统学习stm32的时候,就注定你会走很多弯路,甚至浪费很多时间最后也学不会。
因为内部结构越复杂的单片机,你学习需要花费的时间就越多。
但是你有没有想过,你学单片机的目的是什么?
肯定不可能只是为了学单片机这么简单对吧?而是通过单片机来做产品,或者说DIY一些有趣的项目。
人的一天真正高效工作学习的时间或许8小时都不到,我们怎么利用好这8个小时直接决定你和别人的差距。
比如说我做一件事,我会拆解完成这件事我要做哪些工作,然后把最核心的环节拿出来优先做,就像做产品,先实现功能再优化细节。
同样的方法用在学习stm32也很合适,stm32在整个产品当中其实只是一个工具而已。
既然是工具,那当然是能用起来就行了,无非就是用芯片的外设而已,你系统的去研究它干嘛?
2. 正确学习姿势
我一直都比较提倡新手从51单片机学起,把精力放在c编程和培养项目思维上,与其有空去深挖单片机,还不如多做几个项目。
我刚开始是使用stc的芯片做过几个项目,然后产品需要接触到stm32。
我先把产品需要用到的单片机外设整理出来,再买一个开发板,然后把我要的外设先在开发板上跑一遍。
同一个例程我会改一些参数,比如说换个引脚、换个定时时间、换个串口,换个ADC通道,DMA通道等等。
大概知道知道怎么配置以后,我就不会再去研究别的功能了,比如内部时钟树架构,USB、CAN、FSMC这些。
照样不影响我把产品做出来,慢慢地我经验也丰富了,对stm32也熟悉了,就是这么自然而然的过程。
3. 最后总结
一个新鲜事物,我认为正确的顺序应该是先用起来,用熟了你再去研究它原理会事半功倍。
很多人说单片机很简单,没前途,玩linux才牛逼。
我个人的观点是,如果你把思维局限在单片机上确实是。
对于老手来说,单片机只不过一个工具而已,核心的还是你的编程水平和产品思维以及在这个行业的经验。
在我看来,不见得玩Arm+Linux就比单片机的工资高或者牛逼。
任何行业都有大神和半桶水,
如果你能编写一个类似于Ti蓝牙协议栈的轻量级系统在单片机中运行,你觉得技术会比Linux差吗?
或许他们对系统的理解都没你深,更别说对硬件驱动的理解了。
如何系统地入门学习stm32?相关推荐
- keil 查看 stm32 io波形_如何系统地入门学习stm32?
我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32呢? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考 ...
- STM32入门-学习STM32要掌握的内容
STM32芯片架构 STM32F103系列芯片的系统架构如下: STM32芯片基于ARM公司的Cortex-M3内核,由ST公司设计生产,内核与总线矩阵之间有I(指令).S(系统).D(数据)三条信号 ...
- keil 查看 stm32 io波形_这样学习STM32单片机,从菜鸟到牛人很简单!
我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32呢? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考 ...
- stm32 web 参数_老司机们都是怎么学习STM32的?
单片机用处这么广,尤其是STM32,这么火!如何快速上手学习呢? "不要去学STM32".我不是说STM32不好,而是这种为了学习单片机而去学习单片机的思路不对.你问,如何系统地入 ...
- 老司机们都是怎么学习STM32的?
单片机用处这么广,尤其是STM32,这么火!如何快速上手学习呢? "不要去学STM32".我不是说STM32不好,而是这种为了学习单片机而去学习单片机的思路不对. 你问,如何系统地 ...
- 过来人都是怎么学习stm32的
不要去学STM32.我不是说STM32不好,而是这种为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习STM32? 本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么S ...
- 学习STM32单片机,从菜鸟到牛人就是这么简单
我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习STM32? 本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考虑的 ...
- 老司机们学习STM32的技巧
单片机用处这么广,尤其是STM32,这么火!如何快速上手学习呢? 你问,如何系统地入门学习stm32? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的 ...
- 学习STM32单片机,从菜鸟到牛人就是这样简单
想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习STM32? 本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考虑的是 ...
最新文章
- 统治未来的离散式神经网络详解
- laravel的工厂模式数据填充:
- c语言可以通过malloc在栈上,C语言内部静态成员陷阱
- Esxi服务器虚拟化平台搭建
- 51nod 1574 排列转换
- html中foreach遍历list,foreach遍历----for(object o: list)
- c++ 服务 以当前用户拉起进程_渗透技巧——通过CredSSP导出用户的明文口令
- 2018-1-2Linux基础知识(19)vi编辑器及bash算数
- 苍狼敏捷软件开发团队建设指南-2-团队建设
- 单继承、多继承、菱形继承的虚函数表
- ROS2与C++入门教程-进程内(intra_process)话题发布和订阅演示
- 正确编译差分包签名(MTK系统)
- github提交时报错:remote: Support for password authentication was removed on August 13, 2021问题解决方案
- 小红书流量红利词「0基础」实操手册
- 拼多多怎么设置快捷回复
- Zuul动态路由及动态Filter实现
- 选择正确的云服务,初创企业也能服务上亿用户
- java计算机毕业设计高校实习实训管理系统(附源码、数据库)
- 隔板法详解(各种方法)(转载)
- 米家的扫地机器人是灰色_米家扫地机器人怎么清理灰尘盒