STM32编程怎么入门,聊聊我的入门经历

STM32编程怎么入门,聊聊我的入门经历我第一次接触STM32大概是在8,9年前。当时刚出来工作不久,在此之前主要用stc和nxp的单片机比较多。那个时候还没有固件库开发的概念,基本都是配置寄存器去使用单片机外设资源。虽然说用起来比较麻烦,但是执行的效率也相对高一点,习惯了也挺好用。新项目比较复杂一点,一个老工程师建议我用stm32的单片机做效率比较高。听大佬的话照做是一个小菜鸟的基本素养,所以我选了stm32。对于学习这块,我也比较舍得(当时月薪只有1.8K),毫不犹豫花了几百大洋购买了一套stm32开发板。学习一款

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

我第一次接触STM32大概是在8,9年前。

当时刚出来工作不久,在此之前主要用stc和nxp的单片机比较多。

那个时候还没有固件库开发的概念,基本都是配置寄存器去使用单片机外设资源。

虽然说用起来比较麻烦,但是执行的效率也相对高一点,习惯了也挺好用。

新项目比较复杂一点,一个老工程师建议我用stm32的单片机做效率比较高。

听大佬的话照做是一个小菜鸟的基本素养,所以我选了stm32。

对于学习这块,我也比较舍得(当时月薪只有1.8K),毫不犹豫花了几百大洋购买了一套stm32开发板。

学习一款新单片机,我习惯性从实战角度出发,要么项目要么开发板。

哪怕你一本书不看,一个视频不看,在开发板上做它100个实验,照样能学会。

我也干过傻事,总想把stm32学得透透的才甘心,也买过两本书,看了半天不知道怎么点亮LED。

直接打开开发板例程改改,几分钟搞定。

学习方法和技巧决定你的学习效率,如果开始就是错的,注定你要比别人慢N倍。

我经常会看到一些新手问stm32要怎么学?为什么我了很久学不会?是不是我不适合写程序?

其实大多数都是学习方法有问题,我一直对我们无际单片机编程的学员说,把STM32当工具用你就赢了

 

 

这个也是我当初的学习方法,我是通过开发板例程学会STM32的,就是不断改例程不断测试。

STM32编程怎么入门,聊聊我的入门经历

9年前不像现在,视频教程和开发板泛滥,很多东西都是摸着石头过河。

不过,我也没研究太深,当时项目太赶了,当初学stm32其实就是学怎么调库。

用固件库把stm32外设用起来,基本就够了。

现在很庆幸当时项目急,不然像我这么喜欢钻牛角尖的人很有可能去刨stm32的”祖坟”。

这么多年,很多项目都用STM32,对于数据手册,我依然云里雾里。

STM32编程怎么入门,聊聊我的入门经历

我很懒,什么我都喜欢复制粘贴,对于现成的东西,能直接用我绝不去烧脑

老板也不知道该如何形容我,感觉能力一般般,不过项目总能提前完成。

Stm32是工具,我们在学习这个工具之前,需要有一定的基础铺垫。

比如说你会用AD看原理图(其他画图工具也可以)、单片机主要是通过采集外围电路数据,然后经过程序逻辑分析,最后再控制电路去实现产品功能的。

AD主要是用来看原理图和PCB用的,在开发初期,经常会碰到硬件上的问题,需要看着PCB去调试硬件有没有问题。

除此以外,C语言要有一定的功底,至少要懂指针、结构体。

一般上了STM32这种单片机的产品,代码都会稍微复杂一些,可能就会涉及到一些模块化编程的概念。

这个时候就会比较考验你的C语言基础了,基础不好,学起来会非常吃力。

另外,我建议最好用51单片机做过项目,如果你连51单片机级别的项目都搞不定,是很难搞定STM32级别项目的。

很多人说虽然自己STM32的外设都会用了,但是感觉还是啥也不会,说白了就是做项目没有思路,不知道怎么去实现功能。

这种思维是通过项目培养出来的,这个其实跟经验一样.

就像你看上一个妹子,二话不说就上去亲一口,肯定挨扇一巴掌,被骂神经病。

下次你就知道要先成为男女朋友,才能干这种事了,这就是经验。

学习单片机也是这样的,在一次次被打脸以后,你才知道自己错在哪里,如何改进。

这是一个循环渐进,不断试错的成长过程,而不是一本书一个教程能让你马上起飞的,没这种好事。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196305.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ETL的开发过程[通俗易懂]

    ETL的开发过程[通俗易懂]在生产环境中,使用shell脚本完成一次etl操作1.定义一个etl函数,里面传入json行数据,用json.loads加载行数据,并对行数据进行判断,如果没有行数据,或data字段没有在行数据里,就直接返回空的结果,否则就继续往下执行2.接着获取行里的数据,用for循环判断,如果包含某个值,我就将变量赋值取出,装在集合容器里3.设置sparksession会话,并ena…

    2022年5月23日
    31
  • cf有超级背包还要买AC吗_算法基础课acwing下载

    cf有超级背包还要买AC吗_算法基础课acwing下载原题链接给定 N 个正整数 A1,A2,…,AN,从中选出若干个数,使它们的和为 M,求有多少种选择方案。输入格式第一行包含两个整数 N 和 M。第二行包含 N 个整数,表示 A1,A2,…,AN。输出格式包含一个整数,表示可选方案数。数据范围1≤N≤100,1≤M≤10000,1≤Ai≤1000输入样例:4 41 1 2 2输出样例:3#include<bits/stdc++.h>using namespace std;const int M = 1e4

    2022年8月8日
    3
  • python astype str_Python astype(np.float)函数使用方法解析

    python astype str_Python astype(np.float)函数使用方法解析我的数据库如图结构我取了其中的nameagenr,做成array,只要所取数据存在str型,那么取出的数据,全部转化为str型,也就是array阵列的元素全是str,不管数据库定义的是不是int型。那么问题来了,取出的数据代入公式进行计算的时候,就会类型不符,这是就用到astype(np.float)代码如下importpymysqlimportnumpyasnpconn=pymy…

    2022年6月3日
    109
  • onmouseover 和onmousemove的区别「建议收藏」

    onmouseover 和onmousemove的区别「建议收藏」时间上 onmousemove事件触发后,再触发onmouseover事件。按钮上 不区分鼠标按钮。动作上 onmouseover只在刚进入区域时触发。onmousemove除了刚进入区域触发外,在区域内移动鼠标,也会触发该事件。当鼠标移动很快时,可能不会触发这两个事件。 onmouseover与onmousemove的区别是:当鼠标移过当…

    2022年8月30日
    0
  • UE4填坑日记之-生成.sln文件的问题「建议收藏」

    UE4填坑日记之-生成.sln文件的问题「建议收藏」UE4填坑日记之-生成.sln文件的问题

    2022年5月27日
    131
  • C语言学习——指针精华(3)工程项目复习

    C语言学习——指针精华(3)工程项目复习编程题一、定义一个数组,从键盘输入10个整数,将10个数字中的最大值和最小值进行位置交换 (使用指针的方式)。代码如下:#include”pch.h”#include<stdio.h>void SWAP(int*p1, int*p2);int main(){ int a[10]; for (int i = 0; i < 10; i++) { scanf_…

    2022年8月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号