自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 5.2.STM32-对射式红外传感器计次&旋转编码器计次

本节课我们写一下外部中断的代码。

2025-11-26 18:35:06 988

原创 5.1.STM32-EXTI外部中断——全程手敲板书

外部中断是众多能产生中断的外设之一,所以本节课我们就借助外部中断来学习一下中断系统。以后在学其他外设的时候,也是会经常和中断打交道的中断源: 像是公司里各个部门的门铃按钮。挂起寄存器: 每个门铃按钮上自带的红色指示灯。按钮被按下,灯就亮,表示有人呼叫。即使手松开了,灯也一直亮,直到有人(软件)来把它按灭。中断屏蔽寄存器: 每个部门经理桌上的一个“免打扰”开关。当经理不想被打断时,就把开关关上。此时,即使门外有人按铃(灯亮了),经理也听不到铃声。与门: 连接“免打扰开关”和“门铃指示灯”的电路。

2025-11-22 21:39:46 939

原创 4.2.STM32-OLED显示屏

本文介绍了OLED显示屏的接线方法和STM32开发中的调试技巧。在OLED连接部分,详细说明了电源引脚的接线方式,并强调使用GPIO供电的非规范做法。文中还展示了OLED工程的代码结构和字库数据使用。调试部分重点讲解了Keil软件中在线仿真的配置方法,包括硬件连接选项、单步执行、断点设置等调试功能,以及寄存器观察窗口和外设状态监控的使用技巧。最后指出调试时不能修改程序的限制,并预告下节将介绍外部中断和传感器应用。全文提供了详细的图文指导,帮助开发者快速掌握STM32调试技术。

2025-11-19 21:53:46 836

原创 4.1.OLED调试工具-全程手敲板书

OLED()显示屏功耗低:这是因为OLED每一个像素都是一个单独的发光二极管,每一个像素都是可以自发光的,不需要LCD那样需要有背光,在显示黑色等场景时,像素可以直接关闭不发光,能有效省电响应速度快:这个特性可以使OLED有更高的刷新率,总线时序快,也可以避免阻塞我们的程序宽视角,因为OLED屏幕是自发光的,所以从任何角度看,显示内容都是清晰的。对比LCD的话,比如电脑的LCD屏幕,自带防窥轻薄柔韧,比如现在手机上的折叠屏、柔性屏等,用的都是OLED显示屏。

2025-11-19 17:38:29 1293

原创 3.4.STM32-按键控制LED&光敏传感器控制蜂鸣器

本文介绍了STM32开发中按键控制LED的实现方法:1)硬件连接采用按键接地、LED低电平点亮的接法;2)采用模块化编程方式,将LED和按键驱动代码分别封装在.c和.h文件中;3)详细讲解了GPIO初始化配置、输入模式选择(上拉输入)及电平读取函数的实现;4)重点分析了GPIO四种数据读取函数的区别和使用场景(输入/输出寄存器读取)。通过模块化设计可提高代码可维护性和移植性,最终实现了按键控制LED的功能。

2025-11-18 22:18:36 1208

原创 3.3.GPIO输入

本小节,我们浅浅了解了**运放、电压比较器、二值化阈值、AO与DO、开环工作、电位器、上下拉电阻电路分析**,以及**C语言的基本数据类型、宏定义、typedef、两个特殊的数据类型:结构体、枚举**,并对**指针、内存、地址、解引用、GPIO寄存器与指针的关系**进行了初步的了解。

2025-11-15 19:05:18 969

原创 3.2.STM32-LED闪烁&LED流水灯&蜂鸣器

STM32点亮LED与蜂鸣器实验 通过搭建硬件电路并配置STM32的GPIO,实现了LED控制与蜂鸣器实验。包括三个关键步骤:1.开启GPIO时钟;2.初始化GPIO为推挽输出模式;3.使用输出函数控制电平。实验展示了LED点亮、闪烁和流水灯效果,并比较了推挽与开漏输出的区别。最后通过GPIO控制蜂鸣器,完成基础外设操作演示。实验过程涉及RCC配置、GPIO初始化结构体设置及多种输出函数的使用,为STM32开发打下基础。 (注:摘要已控制在150字以内)

2025-11-11 17:49:51 1620

原创 3.1.STM32-GPIO通用输入输出口

本节课分为两个部分,四个小节第一部分主要学习GPIO的输出第二部分主要学习GPIO的输入,附带一些C语言的知识第一部分总共有三个程序,第一个时LED闪烁,第二个时LED流水灯,第三个是蜂鸣器//除此之外,模拟通信协议时,接受通信线上的数据,也是靠GPIO的输入来完成的。

2025-11-08 20:30:20 899

原创 2.2.STM32-新建工程

STM32的工程结构较复杂,需要用到很多文件,之后的代码也都是需要建立在工程结构上的。所以在学习后续内容之前,需要学习如何新建工程目前STM32的开发方式主要有。

2025-11-07 17:53:17 1056

原创 2.1.STM32-软件安装-点对点解决

/路径2: 设置——隐私与安全性——windows安全中心——病毒与威胁防护——当前威胁——允许的威胁——勾选“允许在设备上”——执行操作。之后可再次尝试下载。最终在“设备管理器”中的端口处看到USB-SERRIAL CH340K,无感叹号,代表成功。若出现预安装成功,这相当于失败。进入下面的链接,下载,解压缩之后,运行Setup。//若进入该注册机(Keygen)后仍禁止访问,重复路径2。此外,新建的文件夹不要带有中文或者中文下的符号(如。,关闭安全防护后再次尝试。//若否,进行路径1。

2025-11-06 01:59:12 743

原创 1.2.STM32简介——全程手敲板书

IP提供商就是只设计ARM内核而不生产实物,实际的内核时各大半导体产商连同芯片一起制作的一般我们拿到一个新的芯片时,需要着重的看一下它的引脚定义,有的时候,看完了引脚定义,我们就大概知道这个芯片是怎么使用的了局部放大图这个就是C8T6这个芯片的引脚序号和引脚名称的示意图在左上角有个小黑点,代表它左边的引脚是1号引脚,然后逆时针依次排列,直到48号引脚下面这个表就是每个引脚的名称和功能橙色的是电源相关的引脚,蓝色的是最小系统相关的引脚,绿色的是IO口、功能口这些引脚首先看一下表头,前两列是。

2025-11-05 20:32:31 1224

原创 C语言 . 第四章第一节 . 指针与数组大纲

总览:

2025-11-03 17:39:04 102

原创 C语言函数练习

分为两个部分解决。

2025-11-03 17:23:13 314

原创 C语言 . 第三章第三节 . 变参函数

其实在上面的效果图中,我们能看出来 argv[0] 存储的就是调用命令,我们只需让其与我们规定的 ./NEU_UUN 进行比较即可。假设现在有一个程序名字是NEU_UUN,如果不是按照 ./NEU_UUN 进行调用,就无法运行。现在只对main函数的三种形式进行初步了解,以防后续在工程设计时看到这些感到陌生。相较于第二种形式,它多存储了一个参数——环境变量char **env。python、Java底层的解释器基本都是用C语言实现的。因为C语言提供了main函数的第三种形式——我们尝试实现一个限制性功能。

2025-11-03 15:11:50 1153

原创 C语言 . 第三章第二节 .递归函数

递归是一类编程技巧。

2025-10-31 17:46:51 382

原创 C语言 . 第三章第一节 . 初识函数

/返回值类型 函数名 (参数列表)//(函数体)//函数中必有的return,进行对函数值的返回//要求实现一个函数,有两个参数,一个参数为flag,一个为x//当flag = 1,返回 x^1/2//当flag = 2,返回 x^2//现在就需要构思函数名,必须由字母数字和_组成,并且只能由字母和_开头//明确返回值类型//由于返回值有根号,确定返回值类型为double//接下来是参数,记得对应好变量类型//再构建函数体,这里使用switch——case语句方便一点。

2025-10-31 16:11:54 446

原创 循环结构练习(二)——嵌套循环【从小白到大师】

打印轴对称图形的核心就在于绝对值,也就是距离先找中心轴线在第几行,再把第 i 行与轴线的距离算出来,倒腾一下公式,利用内循环打印就好了内循环就是那个办事的人,有事他真能上,找他就完事了。

2025-10-29 16:28:37 1467

原创 循环结构练习(一)

这道程序说难不难,说简单不简单新手上来很容易蒙圈,这tm跟循环结构有啥关系啊?还有读入n个整数,这是让我设置n个变量来存储他们吗?这我也妹学啊。难点就在于怎么把直观想法转变为程序语言,所以这是一道好题,很考察编程能力读入n不必多说,关键是读入‘n’个数字,并且计算和值,然后再平均(你没听错,计算和值与平均操作是要分开来的!到底哪里可以实现精准控制住‘次数’?不多不少刚刚好?哪里讲过?这个计数器可以实现‘循环n次操作’的功能。这样一想,那我们是不是可以?恭喜你,读入n个数字的功能完美实现。

2025-10-27 21:34:05 300

原创 分支结构练习(下)

首先我们给出基础写法但是能不能高端一点,优美一点呢?有的兄弟,有的。

2025-10-26 21:39:46 421

原创 分支结构练习(上)

程序很简单,但我们拓展一个小知识点。

2025-10-26 20:29:02 271

原创 C语言 .第二章第五节 . 重拾C语言的一条语句

【代码】C语言 .第二章第六节 . 重拾C语言的一条语句。

2025-10-26 16:08:35 162

原创 C语言 . 第二章第四节 . goto语句

代码演示。

2025-10-26 15:36:46 203

原创 C语言 . 第二章第三节 . 循环结构

循环结构主要分为两类语句一类是while语句一类是for语句。

2025-10-25 18:47:49 1052

原创 C语言 . 第二章第二节 . 分支结构

分支结构分为与。

2025-10-25 15:04:31 747

原创 C语言 . 第二章第一节 . 关系运算符与条件表达式

本文介绍了C语言中的条件表达式及其应用。条件表达式由关系运算符组成,其值只有1(真)或0(假)。单条件表达式可直接用于计算和条件判断,如a += (a == b)这样的巧妙用法。多条件表达式则通过逻辑运算符&&(与)和||(或)连接,并遵循短路原则:对于&&,若左操作数为假则右操作数不执行;对于||,若左操作数为真则右操作数不执行。文章还演示了如何利用短路原则实现简单条件输出,虽然这种方法可替代if-else语句,但执行效率较低。

2025-10-23 16:31:24 629

原创 C语言 . 第一章 . 第九节 . 常用数学函数

(7)对数函数——以e为底与以10为底。比较少用,代码实现同理。假如我们想保留pi小数点后8位。

2025-10-21 17:10:06 178

原创 C语言 . 第一章 . 第八节 . 基本运算符

历经一周半的时间,我们学习了变量,字节等等基本概念,了解了四大基本数据类型:int、float、double、char.以及ASCII编码规则,补码表示法,还通过简单的程序学习了输入输出函数(scanf,printf,sscanf,sprintf).铺垫到这里结束。从这一刻起,我们将踏进 C 语言真正的战场 —— 运算符与表达式。

2025-10-21 07:52:20 983

原创 C语言 . 第一章第七节 . sscanf与sprintf函数

这里的sscanf函数就是把字符串123 456 789中的数字信息读取出来了.sscanf函数和sprintf函数的核心作用解释就在于下图。下图是将sscanf和sprintf结合在一起,实现定向精准替换。│ 使用 sprintf。│ 使用 sscanf。│ 字符串 (string) │。│ 字符串 (string) │。│ 其他类型变量(int等) │。

2025-10-20 15:24:51 346

原创 输入输出小练习(二)

这个中括号内应填入的字符空间的大小,如果是100,那就通常最多能存储99位字符串,以/0结尾,这个我们一会说。这个题目涉及到了一个新概念——字符串——是由一组字符所构成的一群信息数据。第一条规则的意思很简单,举个例子,scanf("%^abc", s),这行代码就是说除了abc其他的字符都允许被读入。这就跟我们的scanf函数的工作原理有关系了。于是我们可以搞一个不会在我们日常输入中出现的字符即可。在右上角的搜索框搜索scanf,点击第一个搜索结果,往下翻到一个表格,大概长这样。的变量,不妨设为s。

2025-10-19 22:24:49 663

原创 输入输出小练习(一)

接下来我们需要得到printf函数的返回值——也就是n的位数,并把它存储起来,以便于后续的输出,于是我们又需要定义一个变量,不妨把他叫做digit(因为刚好是位数的意思),让digit接收返回值。那一行的printf函数实际上成功打印了5个字符,4556和换行符,正正好5个字符。这下好了,因为去掉换行符,导致两个printf函数的打印结果糊到一起了。这个%就相当于是说明你的程序停在这里,有种未完待续的感觉。好了,幽灵%的问题解决了,此时如果我们继续加上一个printf函数,把返回值打印出来。

2025-10-19 20:53:43 512

原创 C语言 . 第一章第六节 . scanf函数的基本用法

好了,这一节我们主要认识了输入函数 ——scanf()。它和我们之前讲的printf()一样,都是来自stdio.h这个头文件,也就是说,都是输入输出的“家族成员”。

2025-10-16 20:37:55 1169 4

原创 关于C语言项目的一点想法

于是我联想到了单词软件的单词拼写练习,即使我一个单词全部大写,或者部分大写,又或者是大小写穿插着空格,只要这个单词你拼的是对的,不重不漏,就给过。1.当我想在ipad上使用计算器时,发现没有,而且Appstore里面的计算器都要广告,我想自己做一个简易的,有分步计算的那种。2.我在学习scanf函数时,我感受到了一种“匹配”的逻辑。的感觉太爽了,于是我想自己做一个类似的项目。

2025-10-16 19:08:37 659

原创 C语言 . 第一章第五节 . printf函数基本用法

printf不光能打印东西,还会告诉你它到底打印了多少个字符。这个数字就是printf的返回值。

2025-10-16 16:03:08 243

原创 复盘——第一节至第四节(第一章)

'a'%d。

2025-10-16 15:01:01 184

原创 C语言 . 第一章第四节 . 常用数据类型与ASCII编码规则

本文介绍了C语言中的三大基本数据类型:整型(int)用于存储整数,包括short、long等变体;浮点型(float/double)用于存储小数,其中double精度更高;字符型(char)用于存储单个字符,使用ASCII等编码规则实现字符与数字的对应关系。这些数据类型在编程中各有其适用场景,为后续的实际代码应用奠定了基础。

2025-10-13 23:20:40 306

原创 C语言 . 第一章第三节 . 整型int和补码表示法

本文介绍了计算机中整型数据的存储原理。整型(int)用于存储整数,在C语言中通常占32位二进制,最高位为符号位(0正1负)。重点讲解了补码表示法:负数的补码等于对应正数取反加1,如-2的补码为1110。补码的优点是能将减法转为加法运算,简化CPU设计。以4位二进制为例,补码范围是-8到7,32位整型则为-2³¹到2³¹-1。文章通过具体示例和对照表,帮助读者理解计算机中整数的存储和运算机制。

2025-10-13 21:28:37 625

原创 C语言 . 第一章第二节 . 计算机中的数据存储

本文介绍了计算机存储的基本概念:字节是存储数据的基本单位,位是表示数据的基本单位。通过仓库的比喻解释了数据存储过程,将实物转换为二进制数字串。重点讲解了二进制和十六进制的转换原理,包括位权计算和十六进制前缀0x的使用。说明了整型数据占用4字节(32位)的内存空间,并介绍了内存容量单位GB的换算关系(1GB=1024MB)。最后总结了计算机使用二进制存储数据、十六进制表示内存地址等要点,帮助读者理解计算机数据存储的基本原理。

2025-10-12 21:42:00 1132

原创 C语言 . 第一章第一节 . 类型与变量

本文通过形象比喻讲解了C语言变量的基本概念。变量被比作“带名字的盒子”用于存储程序中需要处理的数据。文章详细介绍了变量的三个组成部分(类型、名称、值),并通过具体代码示例展示了变量的声明、初始化和修改过程。同时提供了变量命名的注意事项,强调变量名应具有描述性且符合语法规范。最后用一句话总结:变量是程序中存储数据的命名容器,其类型决定存储内容,名称标识位置,值则是存储的具体数据。

2025-10-12 17:12:12 267

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除