- 博客(85)
- 收藏
- 关注
原创 AD绘图基本操作
可以通过双击元器件,在出现的编辑页面中修改X,Y,Z的值来改变元器件的放置方式。3D视角鼠标左键只起到选择元器件并移动之的功能,放置完成之后,可以按下数字3,查看3D状态的显示。或者使用外接键盘的九宫格数字键2468进行旋转。点进去,下载,格式选择.sldprt文件。下载安装包,解压出现.sldprt文件。注意:快捷键都要在英文模式下才能生效。选择对应路径下的库文件,即导入成功。将出现的图标移动到要放置的地方。shift+鼠标右键是旋转,CTRL+鼠标右键是放大缩小。单纯鼠标右键只能平移桌面。
2025-03-17 22:55:05
356
原创 FreeRTOS-中断管理
创建一个队列及一个任务,按下按键 KEY1 触发中断,在中断服务函数里向队列里发送数据,任务则阻塞接 收队列数据。这样就实现了,使用中断往队列的发送信息,用任务阻塞接收信息。
2025-02-28 17:12:50
171
原创 FreeRTOS-软件定时器实操
创建两个定时器:定时器1,周期定时器,每1秒打印一次 “我是周期定时器”定时器2,单次定时器,启动后 2 秒打印一次 “我是单次定时器”
2025-02-28 16:36:48
221
原创 FreeRTOS-任务通知
任务通知可以替代二值信号量、计数信号量、事件标志组,可以替代长度为 1 的队列(可 以保存一个 32 位整数或指针值),并且任务通知速度更快、使用的RAM更少!
2025-02-28 16:03:20
211
原创 FreeRTOS-事件标志组实验
创建一个事件标志组和两个任务( task1 和 task2),task1 检测按键,如果检测到 KEY1 和 KEY2 都按过,则执行 task2。
2025-02-28 11:43:27
107
原创 FreeRTOS-关于互斥量小实验
在创建一个二值信号量,因为优先级翻转是在二值信号量中出现的。后面我们会发现,低优先级的任务不会被中优先级的任务打断了。上面这个框中实现的就是优先级翻转,符合下述的描述。2. 使用互斥量优化优先级翻转问题。分别是高优先级、中优先级、低优先级。1. 演示优先级翻转。
2025-02-27 22:42:54
624
原创 FreeRTOS-任务的创建与删除小实验
创建 4 个任务:taskLED1,taskLED2,taskKEY1,taskKEY2,任务要求如下:taskLED1:间隔 500ms 闪烁 LED1;taskLED2:间隔 1000ms 闪烁 LED2;taskKEY1:如果 taskLED1 存在,则按下 KEY1 后删除 taskLED1 ,否则创建 taskLED1;taskKEY2:如果 taskLED2 正常运行,则按下 KEY2 后挂起 taskLED2 ,否则恢复 taskLED2。
2025-02-27 12:45:51
412
原创 STM32-智能小车项目
ST-link接线实物图:正面: 反面:使用L9110S电机模块电机驱动模块L9110S详解 | 良许嵌入式新建文件夹智能小车项目在里面复制19-串口打印功能重命名为01-让小车动起来新建文件夹motor,如下图所示打开项目加载文件先更改引脚然后分装函数前进,后退,左转,右转,停止函数二、串口控制小车注意:串口控制小车与蓝牙控制小车类似复制01-让小车动起来重命名为02-串口控制小车将蓝牙模块的文件粘贴到改项目中进行修改打开项目文件加载文件将蓝牙模块的串口2代码粘贴到02项目中将接收到的串口2的数
2025-02-24 23:56:04
2502
1
原创 STM32-智能台灯项目
1. 红外传感器检测是否有人,有人的话实时检测距离,过近则报警;同时计时,超过固定时间则报警;2. 按键 1 切换工作模式:智能模式、按键模式、远程模式;3. 智能模式下,根据光照强度自动调整光照档位(低亮、中亮、高亮),没人则自动光灯;4. 按键模式下,按键 2 可以手动调整光照档位;5. 远程模式下,可以通过蓝牙控制光照档位、计时等;6. 按键 3 暂停/开始计时,按键 4 清零计时;7. OLED 显示各项数据/状态。
2025-02-23 21:48:15
2617
1
原创 STM32-心知天气项目
使用ESP8266通过HTTP获取天气数据(心知天气),并显示在OLED屏幕上。按键1:循环切换今天明天后天天气数据;按键2:更新天气。
2025-02-22 23:20:38
1024
1
原创 STM32-笔记44-CAN协议
CAN协议,全称为(控制器局域网络),是一种广泛应用的,最初由德国BOSCH公司开发,并已成为国际标准。CAN协议是一种基于的异步串行通信协议,采用双绞线作为传输介质,具有和独特的设计特点。1.1、CAN协议与I2C\SPI协议的不同?与I2C、SPI等具有时钟信号的同步通讯方式不同,CAN通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有CAN_High和CAN_Low两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。CAN_High:低速CAN。
2025-01-17 22:49:34
707
原创 STM32-笔记43-低功耗
STM32具有运行、睡眠、停止和待机四种工作模式。上电后默认是在运行模式,当内核不需要继续运行时,可以选择后面三种低功耗模式。关于低功耗模式都集中在电源控制模块下。
2025-01-15 11:40:15
998
原创 STM32-笔记42-实时时钟项目
1. OLED屏幕显示当前时间、日期、闹钟等信息;2. 正常模式下,按下 KEY1 ,进入时间设置模式,此时按下 KEY2 则可以循环跳转修改秒、分、时、日、月、年;3. 时间设置模式下,KEY3 增加数值,KEY4 减小数值,再次按下 KEY1 则退出时间设置模式,并保存修改后的时间;4. 正常模式下,按下 KEY2,进入闹钟设置模式,此时按下 KEY2 则可以循环跳转修改秒、分、时;
2025-01-13 18:45:14
348
原创 STM32-笔记41-RTC(实时时钟)
实时时钟的缩写是RTC(Real_Time Clock)。RTC 是集成电路,通常称为时钟芯片。实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后, RTC的设置和时间维持不变。复位后,对备份寄存器和RTC的访问被禁止,并且备份域被保护以防止可能存在的意外的写操作。
2025-01-11 20:50:14
986
原创 STM32-笔记40-BKP(备份寄存器)
备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据。他们处在备份域里,当VDD电源被切断,他们仍然由VBAT维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也不会被复位。此外, BKP控制寄存器用来管理侵入检测和RTC校准功能。复位后,对备份寄存器和RTC的访问被禁止,并且备份域被保护以防止可能存在的意外的写操作。执行以下操作可以使能对备份寄存器和RTC的访问:通过设置寄存器RCC_APB1ENR的PWREN和BKPEN位来打开电源和后备接口的时钟。
2025-01-11 13:14:35
598
原创 STM32-笔记39-SPI-W25Q128
一般我们使用存储器,都是ARM、ROM、FLASHW25Q128是NOR Flash:一种非易失性存储器,它可以在断电或掉电后仍然保持存储的数据,因此被广泛应用于长期数据存储。它具有容量大,可重复擦写、按“扇区/块”擦除的特性。Flash 是有一个物理特性:只能写 0 ,不能写 1 ,写 1 靠擦除。W25Q128是华邦公司推出的一款容量为 128M-bit(相当于 16M-byte)的 SPI 接口的 NOR Flash 芯片。6.1 W25Q128存储架构。
2025-01-08 18:51:49
1280
原创 STM32-笔记37-吸烟室管控系统项目
1. 使用 mq-2 获取环境烟雾值,并显示在 LCD1602 上;2. 按键修改阈值,并显示在 LCD1602 上;3. 烟雾值超过阈值时,蜂鸣器长响,风扇打开;烟雾值小于阈值时,蜂鸣器不响,风扇关闭;
2025-01-05 19:56:20
420
原创 STM32-笔记36-ADC(模拟/数字转换器)
使用 ADC1 采集通道 1 的电压值,通道 1 连接光敏电阻传感器。复制项目文件夹19-串口打印功能重命名为43-ADC单通道采集实验打开项目文件加载文件main.cHAL_Init();/* 初始化HAL库 *//* 设置时钟, 72Mhz */led_init();/* 初始化LED灯 */adc_init();\r\n");while(1)//换算成电压的形式输出adc.c//ADC的句柄//初始化ADC函数//基地址//数据右对齐//要不要扫描?不需要扫描。
2025-01-05 18:55:17
1225
原创 STM32-笔记35-DMA(直接存储器访问)
实验目的使用DMA将一个大数组的数据搬运到另一个位置。复制项目文件19-串口打印功能重命名为40-DMA实验(内存到内存)新建文件夹dma dma.c dma.h打开项目文件加载文件main.cHAL_Init();/* 初始化HAL库 *//* 设置时钟, 72Mhz */led_init();//初始化led灯dma_init();\r\n");led2_OFF();led1_OFF();led2_ON();
2025-01-04 19:46:17
1202
原创 STM32-笔记33-Wi-Fi遥控风扇项目
电脑通过esp8266模块远程遥控风扇。PC端的网络调试助手(以服务端的模式连接客户端的esp8266)
2025-01-03 23:04:43
488
原创 STM32-笔记32-ESP8266作为服务端
esp8266作为服务器的时候,这时候网络助手以客户端的模式连接到esp8266,其中IP地址写的是esp8266作为服务器时的IP地址,可以使用AT+CIFSR查询esp8266的ip地址,端口号默认写333。
2025-01-03 21:51:05
689
原创 STM32-笔记30-编程实现esp8266联网功能
复制项目文件34-ESP8266串口间的通信。重命名为35-编程实现ESP8266联网功能。串口2连接ESP8266模块。
2025-01-03 17:35:45
404
原创 C语言-sprintf
缓冲区溢出:由于sprintf 没有限制输出的长度,如果输出的字符串超过目标缓冲区的大小,可能会导致缓冲区溢出,从而引发安全问题。sprintf是一个在C语言中用于字符串格式化的函数,其功能是将格式化的数据写入某个字符串中。// buffer 将包含 "3.14"format:指向一个格式化字符串的指针,该字符串定义了输出字符串的格式。...:可选参数,可以是任何类型的数据,用于替换格式化字符串中的占位符。
2025-01-03 17:33:41
423
原创 STM32-笔记30-串口间的通信
本次实现串口间的正常通信,主要是为了后面的在此之前需要检验两个串口之间是否可以正常通信,串口1:是用来接收串口2中打印的日志-当给ESP8266输入AT指令之后,打印出的结果显示。串口2:用来接后续的ESP8266-实现单片机通过串口2传递AT代码信息给ESP8266,ESP8266解析AT执行把结果日志通过串口2传递给串口1。检验两个串口间是否可以正常通信,使用两个USB转TTL用杜邦线和STM32连接,两个USB连接电脑,电脑上的两个串口助手分别与其相连接。
2025-01-03 15:11:14
600
原创 STM32-笔记28-蓝牙模块
HC-08 蓝牙模块是通过串口与单片机进行通信,这个模块既可以作为主机也可以作为从机(通过 AT 指令配置)。有些蓝牙模块不支持主机(如 HC-02 、HC-04),所以在使用时需要注意区分。HC-08 蓝牙模块实物图如下所示:可以看到,HC-08 模块一共有 6 个引脚,下面详细介绍各个引脚的作用。• STATE:状态输出引脚。未连接时,则为低电平。连接成功时,则为高电平。可以在程序中作指示引脚使用;• RXD:串口接收引脚。接单片机的 TX 引脚(如果是5V MCU,需串联一个 220R 电阻)
2025-01-02 20:02:04
1523
原创 STM32-笔记27-串口
1. 全双工通信:USART支持全双工通信,即数据可以在两个方向上同时传输(A→B且B→A)。这使得USART能够满足许多需要双向通信的应用场景。2. 同步与异步传输:尽管USART的“S”代表同步,但在实际应用中,USART更常用于异步通信。然而,它也支持同步通信模式,只是这种模式通常用于兼容其他协议或特殊模式,并且两个USART设备不能通过同步模式进行直接通信。3. 波特率发生器:USART自带波特率发生器,最高可达4.5Mbits/s,可以根据需要配置不同的波特率。
2025-01-01 18:01:41
1199
原创 STM32-笔记26-WWDG窗口看门狗
窗口看门狗内有一个7位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生问题时复位整个系统。它由主时钟驱动,具有早期预警中断功能;在调试模式下,计数器可以被冻结。
2025-01-01 16:01:31
1340
原创 STM32-笔记25-IWDG独立看门狗
在键寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾0x000时,会产生一个复位信号(IWDG_RESET)。无论何时,只要在键寄存器IWDG_KR中写入0xAAAA, IWDG_RLR中的值就会被重新加载到计数器,从而避免产生看门狗复位。IWDG_PR和IWDG_RLR寄存器具有写保护功能。要修改这两个寄存器的值,必须先向 IWDG_KR寄存器中写入0x5555。
2024-12-31 21:24:13
1055
原创 STM32-笔记24-智能开关垃圾桶盖
初始化状态位为关盖状态,当有物品挡在超声波前面的时候,调用开盖函数,在开盖函数中判断状态位是否是CLOSE状态,如果是,则执行开盖函数,否则不执行,此时这里状态位是CLOSE所以,执行开盖函数,并且把状态位置为OPEN,在下次执行if语句的时候,如果满足if里的条件,则会调用开盖函数,但是由于状态位为OPEN,所以此时不会执行开盖函数中的代码。复制项目文件夹19-串口打印功能,重命名为26-智能感应开关垃圾桶盖项目。1、问题:当手一直放在超声波前面的时候,每隔2秒蜂鸣器会响一下。在代码中出现的bug。
2024-12-31 14:37:48
694
原创 STM32-笔记23-超声波传感器HC-SR04
HC-SR04 工作参数:• 探测距离:2~600cm• 探测精度:0.1cm±1%• 感应角度:
2024-12-31 13:04:42
651
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人