自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32通用定时器比较输出(RGB实验)

RGB彩灯实验:完成按键切换灯颜色(单定时器多通道)图1.RGB LED 模块通过RGB三个引脚的PWM电压输入可以调节三种基色(红蓝绿)的强度从而实现全 彩的混色效果。软件流程。

2024-05-06 20:38:27 434

原创 窗口看门狗

【代码】窗口看门狗。

2024-05-06 19:38:36 124

原创 STM32独立看门狗

看门狗复位:本质递减计数器,这个递减计数器一旦减到0,看门狗就会将程序进行复位。正常工作情况,不会让这个计数器减到0 ->喂狗。

2024-04-29 20:15:40 209 1

原创 STM32基本定时器

基本定时器 TIM6 和 TIM7 包含一个 16 位(0~65535)自动重载计数器,该计数器由可编程预分频器驱动。此类定时器不仅可用作通用定时器以生成时基, 还可以专门用于驱动数模转换器 (DAC)。实际上,此类定时器内部连接到 DAC 并能够通过其触发输出驱动 DAC。这些定时器彼此完全独立,不共享任何资源。预分频器寄存器与自动重载寄存器都有一个阴影部分-------影子寄存器。

2024-04-29 20:01:26 332 1

原创 STM32系统滴答定时器中断

时间片:可以分别中断,互不干扰。

2024-04-26 20:49:13 168 1

原创 STM32系统滴答定时器

系统滴答定时器:为单片机系统提供时间轴(时间概念) 为操作系统提供时间片(时基)

2024-04-26 20:33:21 158 2

原创 STM32串口接收中断与空闲中断

需要的中断时就删除屏蔽,不需要时就打开屏蔽。串口存在中断,不用另外写中断初始化。这个软件中使用printf。

2024-04-25 17:44:21 703 1

原创 STM32软件中断

可以把比较重要或者紧急的代码放在软件中断服务函数里面,不需要等待外部硬件是否出现异常事件,直接通过软件产生中断。保护比较重要的代码不被打断。写在哪个位置就从哪里触发软件中断。

2024-04-25 16:42:54 366 1

原创 STM32外部中断(按键中断)

PA0按键按下时电平由低变高,松手时由高变低;PE2/3/4按键按下时电平由低变高,松手时由高变低,所以PA0用下降沿,PE2/3/4用上升沿。//优先级 占先=1 次级=1 5->01 01。//优先级 占先=1 次级=2 6->01 10。:这几个中断线对应按键的PA0,PE2/3/4。

2024-04-25 16:09:07 892 1

原创 串口练习(上位机1通过串口与上位机2通信)

上位机1通过串口1收到数据存入一片单片机板子STM32芯片的内存中,再将存好的数据通过串口2发送到另一片单片机板子STM32芯片的内存中,最后该存在第二片板子芯片的数据通过串口1发送到上位机2。

2024-04-24 23:05:45 145

原创 串口练习(按键通过串口1控制LED)

【代码】串口练习(按键通过串口1控制LED)

2024-04-24 22:43:26 114

原创 关于串口的理解

USART(通用同步/异步收发器)和UART(通用异步收发器)的区别主要在于USART具有同步和异步两种数据传输模式,而UART仅支持异步数据传输。串口(usart)(串行通信接口)把I/O口接收到的数据通过串口(usart)寄存器放到内存上。div_f是USARTDIV的小数部分,div_m是USARTDIV的整数部分。USART1的接收端和发送端在PA9和PA10的I/O口上。PA8~PA15是高位寄存器用数组表示GPIOA->AFR[1]PA0~PA7是低位寄存器用数组表示GPIOA->AFR[0]

2024-04-22 23:35:37 580

原创 STM32单片机的呼吸灯设置

在一个周期内亮灯和灭灯的时间比决定等的亮光程度,当亮灯的比例越高,灯越亮,当灭灯的比例越高,灯越暗。

2024-04-20 17:18:32 89

原创 STM32单片机按键长短按的设置

定义一个变量来计时,当按键按下时,开始计时,松开按键时停止计时,用计量的时间来执行对应的事件。

2024-04-20 17:05:39 188

原创 STM32单片机延时函数

该芯片主频为168MHz,1s处理168M条机械指令,1us处理168条机械指令,__NOP();是一个空操作指令,用于在程序中插入一个无操作的指令。168个该指令刚好1us,1s=1000ms=1000000us。

2024-04-20 16:56:24 219

原创 捕获按键方法

按键有按下和回弹两个步骤,所以要弄一个标志位判断按键从按下到回弹的两个步骤为执行一次,防止多个按键同时按下,同时还要消抖以防按键的接触不灵。

2024-04-20 16:47:49 181

原创 嵌入式输入与输出代码的区别

与输出相比输入用的寄存器更少,更重要的是输出是给I/O端口置一和清零,而输入是从I/O口获取高低电平。编写按键的代码用到的是I/O端口的输入寄存器,与输出寄存器有所区别。

2024-04-20 11:41:10 899

原创 关于判断上拉下拉的知识

红外避障模块具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反 射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输 出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围 2~30cm,工作电压为 3.3V- 5V。当电路图没有上下拉电阻时,我们可以看器件的输出端口默认输出高低电平来判断,当输出高电平时,如图一的右图为上拉电阻;当输出低电平时,如图一的左图为下拉电阻。图2. 红外避障模块。

2024-04-19 20:50:06 263 1

原创 练代码 three day

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int r, h, s, v; printf("输入圆柱体的半径和高:"); scanf("%d%d", &r, &h); s = 2 * 3.14 * r * h + 2 * 3.14 * r * r; printf("圆柱体的表面积为:%d\n", s); v = 3.14 * r * r * h;...

2021-11-30 21:16:07 385

原创 练代码 three day

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){ int x, y, s1, s2; printf("分别输入x和y的值:"); scanf("%d%d", &x, &y); s1 = x + y; printf("s1的值为:%d\n", s1); s2 = x - y; printf("s2的值为:%d\n", s2); return...

2021-11-30 20:21:24 43

原创 练代码two day

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int Add(int x, int y){ int z = 0; z = x + y; return z;}int main(){ int num1 = 0; int num2 = 0; scanf("%d%d", &num1, &num2); int sum = Add(num1,num2); prin...

2021-11-25 20:40:53 57

空空如也

空空如也

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

TA关注的人

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