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

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

3天内不再提示

给你一个STM32项目,你是不是依然手足无措?

小麦大叔 来源:小麦大叔 作者:小麦大叔 2022-07-22 14:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

可能你已经学习了很久,但是当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库。

开发库就好比现成的轮子,是很多工程师智慧的产物。如下图是封装好的外设驱动,有必要学习一下是怎么实现的。

16743e1e-0971-11ed-ba43-dac502259ad0.png

HAL库

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

有人可能会反驳,现在各个厂家的配置工具都很完善,为什么我不把精力放在应用和算法上,而要放着现成的驱动不用,自己手写呢?

那你就去安心做个应用软件工程师,别来搀和底层。

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

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

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

而这些底层,之所以被称之为“底层”,是因为它们确实就是整个系统框架里最基础的部分。

好比盖大楼,这些就是地基:

认真看官方手册、寄存器手册,每一个驱动都自己手写,一点一点做。

同时,学习电子元器件电路原理等硬件知识。

其实,能坚持下来,就已经打败90%的人了,找工作自然也不是问题。

审核编辑 :李倩

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

    关注

    6074

    文章

    45335

    浏览量

    663347
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371077

原文标题:学了很久STM32,却还是不会做项目

文章出处:【微信号:knifewheat,微信公众号:小麦大叔】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件
    的头像 发表于 11-28 07:27 678次阅读

    海微科技智能仓库2.0项目正式启动

    11月4日,海微智能仓库2.0项目启动会在海微智造举行。项目通过数字化仓库顶层设计与自动化技术的深度融合,实现了仓库从 “人力密集”到“智能无人”的跨越。
    的头像 发表于 11-07 15:15 178次阅读

    M12连接器尺寸?给你讲得明明白白的“大白话”指南!

    嘿,朋友,是不是也在搞工业设备、自动化或者新能源项目,结果被叫“M12连接器”的小东西搞得头大?别急,今天咱就用大白话,把M12连接器
    的头像 发表于 09-26 11:16 2885次阅读
    M12连接器尺寸?<b class='flag-5'>一</b>篇<b class='flag-5'>给你</b>讲得明明白白的“大白话”指南!

    rt-thread studio中创建不了gd32项目是怎么回事?

    为什么在rt-thread studio中创建gd32项目时候,他打开的那个选型芯片型号是,安装好了,没有确认键啊,只有退出sdk管理器,然后就卡在那里了,创建不了gd32的项目
    发表于 09-15 06:56

    STM32项目分享:智能厨房安全系统(机智云)

    01—项目简介1.功能详解STM32智能厨房安全系统(机智云)功能如下:STM32F103C8T6单片机作为主控芯片检测功能:检测环
    的头像 发表于 09-10 00:01 891次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能厨房安全系统(机智云)

    STM32项目分享:矿井环境监测系统

    01—项目简介1.功能详解STM32矿井环境监测系统功能如下:STM32F103C8T6单片机作为主控制器DS18B20测量环境温度
    的头像 发表于 08-16 10:03 701次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:矿井环境监测系统

    STM32项目分享:智能语音台灯(机智云)

    01—项目简介1.功能详解STM32智能语音台灯(机智云)功能如下:STM32F103C8T6单片机作为主控单元按键切换模式,支持自
    的头像 发表于 07-24 18:03 1034次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能语音台灯(机智云)

    STM32项目分享:智能家居(机智云)升级版

    01—项目简介1.功能详解STM32智能家居(机智云)升级版功能如下:检测功能:监测环境温湿度、烟雾浓度、氧化碳、空气质量、光照强
    的头像 发表于 07-02 18:04 610次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能家居(机智云)升级版

    NRF24L01项目资料(2.4G通信)实例项目下载

    NRF24L01项目资料(2.4G通信)实例项目,推荐下载!
    发表于 06-03 20:46

    STM32项目分享:智能鞋柜

    01—项目简介1.功能详解STM32智能鞋柜功能如下:DHT11检测鞋柜温湿度,温度低于阈值开启加热,湿度高于阈值开启加热和通风;P
    的头像 发表于 05-27 18:04 698次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能鞋柜

    STM32项目分享:室内无线控制系统

    01—项目简介1.功能详解STM32室内无线控制系统功能如下:环境监测:温湿度、光照信息实时监测并在OLED上显示防盗报警:当有人闯
    的头像 发表于 05-27 18:04 654次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:室内无线控制系统

    STM32项目分享:STM32智能语音分类垃圾桶

    01—项目简介1.功能详解STM32智能语音分类垃圾桶功能如下:1.STM32F103C8T6单片机系统板作为主控单元2.舵机驱动垃
    的头像 发表于 03-15 10:02 2389次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:<b class='flag-5'>STM32</b>智能语音分类垃圾桶

    STM32项目分享:STM32智能语音台灯

    项目简介1.功能详解STM32智能语音台灯功能如下:1.STM32F103C8T6单片机系统板作为主控单元2.按键切换模式,支
    的头像 发表于 03-15 10:02 2332次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:<b class='flag-5'>STM32</b>智能语音台灯

    STM32项目分享:智能台灯(机智云)系统

    01—项目简介1.功能详解STM32智能台灯(机智云)系统功能如下:1.检测功能:系统检测周围温湿度数据、距离、人体信号、光照强度L
    的头像 发表于 03-10 08:03 1463次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能台灯(机智云)系统

    STM32项目分享:机智云智慧农业系统

    01—项目简介1.功能详解基于STM32的机智云智慧农业系统。功能如下:温湿度采集:使用DHT11温湿度传感器采集环境温湿度土壤湿度
    的头像 发表于 12-19 18:40 1900次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:机智云智慧农业系统