关于大一上学期STM32培训的经验及教训(完全初学)

      主要是写出来给要直接学习STM32的人的一些经验或者是教训以及踩坑点,我后续也会开始写STM32的一些我已经学会的基础性的初学者应用型教程(如没有前置知识点亮LED,我会在这里说GPIO是个啥,怎么选口,怎么查手册等基础入门方法)


我也要期末考试后回家了,我想写这个文章是因为上学期的培训也结束了,我先说明我现在STM32会什么

1.点亮LED,使用蜂鸣器(GPIO的查找,配置,和应用)

2.用LED和蜂鸣器以一定周期交替响应(模块在代码上的配合)

3.雨雪传感器检测信号让LED亮(TIM配置,外部中断代码配置)

4.四按键模块制作三人抢答器,并且让LED亮(TIM捕获)

5.数码管显示HH

6.手机和单片机交互,让手机app上显示一个累加的数字(蓝牙模块)

7.设计一个0-99的计时器,要求能完成倒计时报警(TIM内部中断)

8.利用LCD1602设计时钟,要求能显示分秒,设定时间

9.电机调速八个挡位(PWM配置)

10.AD采集直流电压,DA转换

11.呼吸灯(PWM)

12.外部中断测量方波频率(内部终端加外部中断的配置)


        我是上来就直接学习STM32,用的STM32F103ZET6,用的是B站的STM32教程加试验箱自带的视频学习,在学习过程中有很多问题。

        一.STM32的前置知识是什么?需要学嘛?我该如何入门?

我自己学了这么久之后,我仅仅是会用,不理解不了解不通透。

       1.首先是C语言,我们只需要学习C语言的入门基础就ok了,我自写有C语言 “入门” 章节的全知识点-CSDN博客

这里面我们需要学习的是,数组,函数,循环语句,选择语句,结构体,这几个很常用,我也有分批的写在我的博客里。

        2.这里我说一下,我只会C语言,我现在要以身试险,在假期去补电路电模数模等知识,这些一些基础,我查别人的文章的话,只需要了解是啥就ok了,我回头给大家总结需要用到的知识并且补到文章里。

        3.看教程实操入门,基础知识的话,只是用的话,先C语言,就可以尝试去使用STM32,但是我强烈建议先去学51,因为51最简单也能形成更好的对单片机的认知。 我寒假会去补51的知识的因为32太痛苦了。

      二.STM32的板子如何选择?

      我查手册的时候,提供了各种各样的板子,我是因为手边有F103ZET6的板子,但是我建议是根据你选择的教程购买相应的板子使用,因为单片机的实操大于理论。但是我选ZET6的另一个原因是它的模块更多,我的教程也都能用。

     三.STM32学习过程中不会了,没人教怎么办?

     我在学习过程中,是有学长帮助的,但是实际上,我也没问什么,大部分都是自己摸索,找CSDN的平台,在B站上找硬件模块的电路讲解,利用别人的代码去理解和应用,学习别人的代码,根据教程一步一步理解代码的作用。总的来说我一般是跟着B站教程一个一个打代码的,当我真的不会或者不理解的时候我会去找学长,或者去找CSDN的帖子,实在不行你试试问我?

   四.STM32学习的过程中有技术上的不理解(不知道教程中GPIO到底是个啥,是干嘛的,不明白定时器是个啥,不明白干嘛的,不会配置)

      这些根本不需要担心,我提供我的思路,先看教程先应用先跟着教程配置,然后再回去看教程的电路,模式等的讲解,不会多看两遍,再不会就是去百度这个名字在百度百科找,或者在CSDN上找,因为我是大一上直接干STM,我自己也不会电路,看不懂什么是上拉什么是下拉,只能很抽象的记住,所以我建议如果你不急的话,先去学电路,电摩数模的基础知识,然后学51,或者从51下手去理解32,直接攻32虽然可以,但是对于我这个大一的我还是强烈不推荐。

我后期为了巩固知识我也会去写各个知识点的代码加应用,理解关键点,然后讲解基础,因为我补完基础再继续进行32,我大一下学期还是要学32的,实验室的任务罢了.


对大一想直接攻击单片机同学们的话:如果时间允许,学C语言基础,学51单片机,(学一点点的电路和数模电模),会用51再攻击32吧,我寒假要去补我的基础了。

我之后也会一个一个的把我学习32的过程应用无偿发出来的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/592011.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【docker】一文讲完docker基本概念

文章目录 一、什么是docker二、docker和虚拟机有什么区别三、docker基本概念1、镜像(Image)2、docker 容器(container)3、docker 仓库(Repository)4、dockerfile简介5、网络(Network&#xff09…

[python]matplotlib

整体图示 .ipynb 转换md时候图片不能通知携带&#xff0c;所有图片失效&#xff0c;不过直接运行代码可以执行 figure figure,axes与axis import matplotlib.pyplot as plt figplt.figure() fig2plt.subplots() fig3,axsplt.subplots(2,2) plt.show()<Figure size 640x480 …

云原生学习系列之基础环境准备(虚拟机搭建)

最近由于工作需要开始学习云原生相关内容&#xff0c;为方便学习操作&#xff0c;准备在外网搭建自己的环境&#xff0c;然后进行相关的练习&#xff0c;搭建环境的第一步便是虚拟机的安装。 基础软件 这里我用到的是CentOS-7-x86_64的操作系统。 链接&#xff1a;https://pa…

dctcp 和 l4s tcp prague

时延的罪与罚。 dctcp 为 dcn 而生&#xff0c;专注于避免吞吐优先的长流阻塞延迟敏感的短流。在最坏情况下&#xff0c;没有任何额外队列规则辅助时&#xff0c;即使长流短流排入唯一的 fifo&#xff0c;也要能做到这点。 为此&#xff0c;必须由交换机辅助实现普遍低时延&a…

Eureka注册及使用

一、Eureka的作用 Eureka是一个服务注册与发现的工具&#xff0c;主要用于微服务架构中的服务发现和负载均衡。其主要作用包括&#xff1a; 服务提供者将自己注册到Eureka Server上&#xff0c;包括服务的地址和端口等信息。服务消费者从Eureka Server上获取服务提供者的地址…

Go(Golang)的10个常见代码片段用于各种任务

探索有用的Go编程代码片段 提供“前10名”Go&#xff08;Golang&#xff09;代码片段的明确列表是具有挑战性的&#xff0c;因为代码片段的实用性取决于您试图解决的具体问题。然而&#xff0c;我可以为您提供十个常用的Go代码片段&#xff0c;涵盖了各种任务和概念&#xff1…

【驱动序列】简单聊聊开发驱动程序的缘由和驱动程序基本信息

大家好&#xff0c;我是全栈小5&#xff0c;欢迎来到《小5讲堂》&#xff0c;这是《驱动程序》专栏序列文章。 这是2024年第4篇文章&#xff0c;此篇文章是结合了C#知识点实践序列文章&#xff0c;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xf…

树莓派4B-Python使用PyCharm的SSH协议在电脑上远程编辑程序

目录 前言一、pycharm的选择二、添加SSH的解释器使用总结 前言 树莓派的性能始终有限&#xff0c;不好安装与使用高级一点的程序编辑器&#xff0c;如果只用thonny的话&#xff0c;本人用得不习惯&#xff0c;还不如PyCharm&#xff0c;所以想着能不能用电脑中的pycharm来编写…

IO作业2.0

思维导图 1> 使用fread、fwrite完成两个文件的拷贝 #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) {if(argc ! 3) //判断外部参数 {printf("The terminal format is incorrect\n");r…

OpenGL FXAA抗锯齿算法(Qt,Consloe版本)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 之前已经提供了使用VCG读取Mesh的方式,接下来就需要针对读取的网格数据进行一些渲染操作了。在绘制Mesh数据时总会遇到图形的抗锯齿问题,OpenGL本身已经为我们提供了一种MSAA技术,但该技术对于一些实时渲染性能有…

《C语言中的基石:库函数与自定义函数的深度解析与实践》

引言 各位少年&#xff0c;大家好。我是博主那一脸阳光。在深入探讨C语言编程的浩瀚世界时&#xff0c;我们会频繁接触到两大类函数——库函数和自定义函数。它们如同构建复杂程序大厦的砖石&#xff0c;各自发挥着不可替代的作用。本文将详尽介绍这两种函数的特点、使用方式以…

从零开发短视频电商 爬虫在爬取时注意 robots.txt 和 sitemap.xml

文章目录 1. robots.txt&#xff1a;2. sitemap.xml&#xff1a; 当我们爬取一个网站时&#xff0c;通常首先查看网站根目录下的两个重要文件&#xff1a; robots.txt 和 sitemap.xml。这两个文件提供了关于网站爬取行为和结构的重要信息。 1. robots.txt&#xff1a; robot…

计算机组成原理——冯诺依曼计算机硬件框图

存储器&#xff1a;存放数据和程序 运算器&#xff1a;算术运算和逻辑运算 控制器&#xff1a;指挥程序的运算 输入设备&#xff1a;将信息转化成机器能识别的形式 输出设备&#xff1a;将结果转化成人们熟悉的形式

Centos安装Kafka(KRaft模式)

1. KRaft引入 Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;它可以处理消费者在网站中的所有动作流数据。其核心组件包含Producer、Broker、Consumer&#xff0c;以及依赖的Zookeeper集群。其中Zookeeper集群是Kafka用来负责集群元数据的管理、控制器的选举等。 由…

使用Apache Commons SCXML实现状态机管理

第1章&#xff1a;引言 大家好&#xff0c;我是小黑&#xff0c;咱们程序员在开发过程中&#xff0c;经常会遇到需要管理不同状态和状态之间转换的场景。比如&#xff0c;一个在线购物的订单&#xff0c;它可能有“新建订单”、“已支付”、“配送中”、“已完成”等状态。在这…

[嵌入式AI从0开始到入土]9_yolov5在昇腾上推理

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注&#xff1a;等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间&#xff0c;后期会考虑出视频教程&#xff0c;务必催更&#xff0c;以防我变身鸽王。 第一章 昇腾Altas 200 DK上手 第二章 下载昇腾案例并运行 第三章…

uniapp运行到开发者工具中

uniapp 项目在微信开发者工具中运行&#xff0c;用于开发微信小程序。 微信 appid 获取地址&#xff1a;微信公众平台 运行到微信开发者工具中 一、进入微信公众平台、微信扫码登录、选择开发管理、选择开发设置、复制 appid 。 二、打开 manifest.json 配置文件、选择微信小…

居家康养领导品牌“颐家”完成B轮融资,商业化进程再加速

近日&#xff0c;颐家&#xff08;上海&#xff09;医疗养老服务有限公司&#xff08;以下称“颐家”“公司”&#xff09;宣布引入战略股东。此次融资额达数千万元人民币&#xff0c;资金将主要用于公司业务数智化升级及自费业务产品开发、团队扩展和业务渠道的开拓。本轮融资…

闭包,垃圾回收机制

1.垃圾回收机制 当函数执行完毕后,函数内部的变量就会被销毁。 代码&#xff1a; function fn() {var a 10;a;return a;}console.log(fn()); 输出的结果: 11 持续调用的结果: 2.变量的私有化 代码: function fn() {var a 10;return function fn1() {return a;}…

Redis——centos7环境安装Redis6.2.14版本,make命令编译时报错:jemalloc/jemalloc.h:没有那个文件或目录

一、报错原因 在redis-6.2.14文件夹下有一个README.md文件&#xff0c;有如下一段话&#xff1a; 在构建 Redis 时&#xff0c;通过设置 MALLOC 环境变量来选择非默认的内存分配器。Redis 默认编译并链接到 libc malloc&#xff0c;但在 Linux 系统上&#xff0c;jemalloc 是…