0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32学了还是不会做项目?

单片机与嵌入式 来源:单片机与嵌入式 2023-12-02 17:01 次阅读

可能你已经学习了很久,但是当Leader抛给你一个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,是很多工程师智慧的产物。如下图是封装好的外设驱动,有必要学习一下是怎么实现的。

d5ecba02-90c8-11ee-939d-92fbcf53809c.png

做底层本身确实要复杂一些,底层软件工程师的成长周期确实要长一点。

有人可能会反驳,现在各个厂家的配置工具都很完善,为什么我不把精力放在应用和算法上,而要放着现成的驱动不用,自己手写呢?那你就去安心做个应用软件工程师,别来搀和底层。

做单片机开发,就得清楚今后的发展方向是什么。当个几年软件工程师,然后转岗去做管理吗?

倘若技术追求高一点的话,你努力的方向一定是系统架构师。

而要成为合格的系统架构师,还得了解单片机底层是如何工作的,甚至还得具备相当程度的硬件知识,应用层的算法只能是锦上添花。

而这些底层,之所以被称之为“底层”,是因为它们确实就是整个系统框架里最基础的部分。好比盖大楼,这些就是地基。认真看官方手册、寄存器手册,每一个驱动都自己手写,一点一点做。同时,学习电子元器件电路原理等硬件知识。 其实,能坚持下来,就已经打败90%的人了,找工作自然也不是问题。

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6035

    文章

    44554

    浏览量

    634675
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2744

    浏览量

    463627
  • soc
    soc
    +关注

    关注

    38

    文章

    4163

    浏览量

    218168
  • STM32
    +关注

    关注

    2270

    文章

    10895

    浏览量

    355751
  • 51单片机
    +关注

    关注

    274

    文章

    5702

    浏览量

    123494

原文标题:为什么STM32学了很久还是不会做项目?

文章出处:【微信号:单片机与嵌入式,微信公众号:单片机与嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    labview是个好东西啊,但是期末作业不会做

    labview是个好东西啊,但是期末作业不会做
    发表于 06-26 17:51

    新手求问怎样自己设计电路(模电,数电都学了还是不会

    新手求问怎样自己设计电路(模电,数电都学了,单片机也学了些)还是不会自己设计电路,求帮助。推荐学习经验。谢谢
    发表于 12-09 21:20

    Altium Designer工具软件如何下载

    Altium Designer与HTML关联性有多大,学了很多HTML还是不会做pcb?
    发表于 02-04 09:57

    不会做Android的蓝牙调试啊

    不会做Android的蓝牙调试啊
    发表于 12-17 22:35

    我毕业设计要这个课程啊,真悲催,不会做

    我毕业设计要这个课程啊,真悲催,不会做
    发表于 04-20 13:12

    我毕业设计要这个课程啊,真悲催,不会做

    我毕业设计要这个课程啊,真悲催,不会做
    发表于 04-20 13:19

    请问下前辈们,在学了stm32,想学操作系统得学其中的什么先ucos吗还是其他4类

    请问下前辈们,在学了stm32,想学操作系统得学其中的什么先ucos吗还是其他4类
    发表于 11-11 00:16

    学习了STM32,你以为就会做项目了? Why?

    可能你已经学习了很久,但是当Leader抛给你一个STM32项目,你是不是依然手足无措? 有一朋友刚开始学习的51单片机,后来转STM32了。主要是跟着网上的在线课程学习,自己下边跟着敲代码。过程中
    发表于 01-11 11:57

    任正非:绝对不会做有损任何国家的事情

    任正非:绝对不会做有损任何国家的事情 1月14日,任正非在深圳的一个媒体座谈会上向6位外媒记者表示,“我个人绝对不会损害自己和客户的利益,我的公司也不会答应这样的要求。”他补充称,华为“从未发生严重的安全事件”
    发表于 01-16 10:40 636次阅读

    EEPROM 在项目中我一般会做几项特殊操作

    EEPROM,在项目中我一般会做几项特殊操作
    的头像 发表于 03-04 14:01 3050次阅读
    EEPROM 在<b class='flag-5'>项目</b>中我一般<b class='flag-5'>会做</b>几项特殊操作

    Stm32学了好久了,感觉独立做项目还是有力不从心的感觉?

    虽说做底层本身确实要复杂一些,底层软件工程师的成长周期确实要长一点。但我始终还是认为,学习是讲究方法的,方法不同,学习效率也就不同。
    的头像 发表于 08-05 10:09 2265次阅读

    为什么学了很久还是不会做STM32项目

    可能你已经学习了很久,但是当Leader抛给你一个STM32项目,你是不是依然手足无措? 有一朋友刚开始学习的51单片机,后来转STM32了。主要是跟着网上的在线课程学习,自己下边跟着敲代码。过程中
    的头像 发表于 11-03 09:56 3847次阅读
    为什么<b class='flag-5'>学了</b>很久<b class='flag-5'>还是</b><b class='flag-5'>不会做</b><b class='flag-5'>STM32</b><b class='flag-5'>项目</b>

    Stm32学了好久了,为什么做项目还是力不从心?

    我记得刚开始自学单片机的时候,虽然把每个外设都用起来了,但是一到做项目就不知道怎么下手。只能照着一些开发板的例程,自己按照他们的思路写一遍,如果没有例程就完全是懵逼状态。那时还以为自己的基础不行
    发表于 11-23 17:21 3次下载
    <b class='flag-5'>Stm32</b><b class='flag-5'>学了</b>好久了,为什么做<b class='flag-5'>项目</b><b class='flag-5'>还是</b>力不从心?

    STM32学了很久,我还是不会做项目

    关注、星标公众号,不错过精彩内容素材来源:知乎编辑整理:张巧龙知乎有人问:Stm32学了好久了,感觉独立做项目还是有力不从心的感觉?从51开始学习,到
    发表于 12-22 19:10 2次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>学了</b>很久,我<b class='flag-5'>还是</b><b class='flag-5'>不会做</b><b class='flag-5'>项目</b>。

    del和unlink有啥区别啊?为什么String类型删除不会做异步删除?

    del 和 unlink 有啥区别啊?为什么String类型删除不会做异步删除?
    的头像 发表于 04-17 10:10 951次阅读