首页
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
更多
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
为什么STM32学了很久还是不会做项目?
科技
2024-12-20 16:36
山东
可能你已经学习了很久,但是当Leader抛给你一个STM32项目,你是不是依然手足无措?
[付费]STM32嵌入式资料包
有一朋友刚开始学习的51单片机,后来转STM32了。主要是跟着网上的在线课程学习,自己下边跟着敲代码。过程中学过各种培训机构出的视频课程,接触过操作系统,开发板上的例程都可以做出来。后来他又学习了PCB绘制,由于在学校的时候没学到多少东西,而且不是电子类专业,陷入了迷茫,不知道该怎么学了。
记得在上大学的时候,专业课老师曾反复叮嘱我们“师傅领进门,修行看个人”。这话之后还没完,经常告诫我们要深入学习51单片机。当时没有完全理解他的意思,直到工作若干年之后才知道。
在嵌入式领域,技术上有所精进,底层的东西少不了。通过51单片机的学习,可以理解单片机、SOC、微机原理相关的硬件知识。
当工作那会,在一家军工企业打工,当时的岗位是嵌入式开发工程师。那时候,我还是一枚小白,甚至C语言都没学好。一个来自华为的老工程师带着我学习、工作。他在华为的时候主要是做的C语言相关的开发,51单片机了解一些。
跟他一起做的第一个小项目是用STM32实现的。他翻看了一下STM32的相关demo,几天之后那个小项目初见端倪。
这个项目虽小,却涉及到了上位机开发的C#、单片机开发用的C语言、图形界面用到的PS以及CAN通信协议等。
项目完成后,在跟他聊天过程中,我得知他之前对于CAN通信、STM32并不熟悉。
What?或许这就是触类旁通的结果。
实际上,C语言是非常接近底层的开发语言,也是嵌入式开发的主要开发语言。学好C语言,不了解底层的微机原理是不可能的。寄存器、位操作、堆栈、内存申请与释放,这些知识点也都会接触到。
回到本文的题目,做不了项目是因为一直以来学的都是皮毛,没有学到实质的东西。虽然学了很久,官方手册看过吗?恐怕一直都是在用标准库、HAL库之类的。
在这里并不是贬低库开发,其实,库开发是一种高效的开发方式。高手也会用库开发STM32项目,但是他们可能会尽力吃透所用的标准库、HAL库。开发库就好比wheel,是很多工程师智慧的产物。如下图是封装好的外设驱动,有必要学习一下是怎么实现的。关于HAL库的文
章,
点击查看
:
搞懂STM32开发用的HAL库
。
做底层本身确实要复杂一些,底层软件工程师的成长周期确实要长一点。
有人可能会反驳,现在各个厂家的配置工具都很完善,为什么我不把精力放在应用和算法上,而要放着现成的驱动不用,自己手写呢?那你就去安心做个应用软件工程师,别来搀和底层。
做单片机开发,就得清楚今后的发展方向是什么。当个几年软件工程师,然后转岗去做管理吗?
倘若技术追求高一点的话,你努力的方向一定是系统架构师。
而要成为合格的系统架构师,还得了解单片机底层是如何工作的,甚至还得具备相当程度的硬件知识,应用层的算法只能是锦上添花。
而这些底层,之所以被称之为“底层”,是因为它们确实就是整个系统框架里最基础的部分。好比盖大楼,这些就是地基。认真看官方手册、寄存器手册,每一个驱动都自己手写,一点一点做。同时,学习电子元器件、电路原理等硬件知识。
其实,能坚持下来,就已经打败90%的人了,找工作自然也不是问题。
STM32嵌入式开发
STM32嵌入式,PCB电路图,C语言,单片机,Matlab,Linux
最新文章
SPI原理详解
嵌入式行业真的没前途吗?
整理的比较全面的C语言入门笔记!
将废弃的电子元器件、PCB做成了“艺术品”
基于STM32、ESP32,钢铁侠打造机械臂
梳理单片机学习方法、产品开发流程
单片机中如何用二极管实现不同电压的输出?
从他人的视角看大学教育及电子工程师的别样境遇
PID到底是个啥?讲个故事告诉你
C语言面试-指针和引用的使用场景?
如何控制直流无刷电机?
一位本科生学习嵌入式的心得体会
为什么STM32学了很久还是不会做项目?
光耦合电路讲解,工作原理+电路案例
工作多年后,嵌入式工程师的区别在哪儿?
电烙铁焊锡到底有没有毒?
踩坑了?硬件前辈们总结的低级错误
在GD32F103移植STM32F103代码
一键开关机电路的4种设计方案
分享两种单片机编程思想
STM32的HAL库实现自定义延时函数delay_us(),文末附代码
常见的二极管应用电路
电路中的GND,它的本质是什么?
STM32中GPIO工作原理详解
10个PCB布板基本法则
单片机程序又跑飞?! 三种跑飞现象分析
教科书没有讲的C语言volatile用法
时钟失效之后,STM32还能运行?
基于C语言的进度条,附代码
有趣的7805应用电路
嵌入式开发中的程序架构
单端、推挽、桥式拓扑结构变压器对比
用ESP8266做的RGB时钟,文末附代码、电路图等资源
GuiLite,一个优秀的单片机图形库
单片机可以替代PLC吗?
嵌入式工程师最后怎么转型避开内卷的?
自制一个ESP8266爬墙无人机,文末附代码
搞懂霍尔效应传感器工作原理
拆解:早期555定时器芯片
那晚我们疯狂吼叫着《一无所有》
状态机编程的优点
STM32的HAL库知识总结
通过锂电池同步整流升压电路,理解所有Boost升压电路
分析电子信息毕业生就业方向
嵌入式开发,出现了Bug该怎么定位解决?
一位嵌入式工程师的高薪之路
晶振为什么没有封装进STM32芯片内部?
教科书没有讲的C语言volatile用法
DC/DC电源电路的PCB Layout技巧
关于C语言堆栈的经典讲解
分类
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
原创标签
时事
社会
财经
军事
教育
体育
科技
汽车
科学
房产
搞笑
综艺
明星
音乐
动漫
游戏
时尚
健康
旅游
美食
生活
摄影
宠物
职场
育儿
情感
小说
曲艺
文化
历史
三农
文学
娱乐
电影
视频
图片
新闻
宗教
电视剧
纪录片
广告创意
壁纸头像
心灵鸡汤
星座命理
教育培训
艺术文化
金融财经
健康医疗
美妆时尚
餐饮美食
母婴育儿
社会新闻
工业农业
时事政治
星座占卜
幽默笑话
独立短篇
连载作品
文化历史
科技互联网
发布位置
广东
北京
山东
江苏
河南
浙江
山西
福建
河北
上海
四川
陕西
湖南
安徽
湖北
内蒙古
江西
云南
广西
甘肃
辽宁
黑龙江
贵州
新疆
重庆
吉林
天津
海南
青海
宁夏
西藏
香港
澳门
台湾
美国
加拿大
澳大利亚
日本
新加坡
英国
西班牙
新西兰
韩国
泰国
法国
德国
意大利
缅甸
菲律宾
马来西亚
越南
荷兰
柬埔寨
俄罗斯
巴西
智利
卢森堡
芬兰
瑞典
比利时
瑞士
土耳其
斐济
挪威
朝鲜
尼日利亚
阿根廷
匈牙利
爱尔兰
印度
老挝
葡萄牙
乌克兰
印度尼西亚
哈萨克斯坦
塔吉克斯坦
希腊
南非
蒙古
奥地利
肯尼亚
加纳
丹麦
津巴布韦
埃及
坦桑尼亚
捷克
阿联酋
安哥拉