自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32F103VET6例程(二)——KEY

摘要:本文介绍了上拉输入模式下GPIO按键检测的实现方法。通过CUBEMX配置GPIO为上拉输入模式,按键按下时检测低电平,未按下时检测高电平。文章详细说明了bsp_key.h头文件的定义和键值常量设置,以及按键初始化函数MYKEY_GPIO_Init()和按键扫描函数KEY_Scan()的实现。其中按键扫描包含消抖处理(10ms延时)和按键优先级检测(KEY0>KEY1>KEY2)。最后在main函数中通过按键值控制对应LED状态翻转,实现了按键检测与LED控制的完整功能。

2025-11-12 17:40:13 329

原创 STM32F103VET6开发板例程(一)-LED

摘要: 本文介绍了基于STM32的LED控制实现过程。首先通过CubeMX配置GPIO输出模式,设置初始状态为高电平(熄灭),并配置72MHz系统时钟。然后创建LED驱动文件(bsp_led.h/c),实现了LED初始化、单独控制及状态翻转功能。在main函数中,通过调用LED_Toggle()函数使三个LED周期性闪烁(500ms间隔)。实验结果验证了三个LED能正确实现交替闪烁功能,完成了预期的硬件控制目标。

2025-11-12 14:51:49 418

原创 运算符重载

概念:对已有的运算符进行重新定义,赋予其另一种功能,以适应不同的数据类型。

2024-09-05 15:08:37 817

原创 C++机试——统计大写字符个数

找出给定字符串中大写字符(即'A'-'Z')的个数。数据范围:字符串长度:1≤∣s∣≤250 1≤∣s∣≤250字符串中可能包含空格或其他字符。

2024-09-05 09:17:34 522

原创 C++机试——尼克切斯定理

验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=12^3=3+53^3=7+9+11输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。数据范围:1≤m≤100 1≤m≤100。

2024-09-04 13:10:24 315

原创 C++机试——查找输入整数二进制中1的个数

输入一个正整数,计算它在二进制下的1的个数。数据范围: 1≤n≤231−1 1≤n≤231−1。

2024-09-04 11:15:45 348

原创 C++机试——查找组成一个偶数最近的两个素数

任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。数据范围:输入的数据满足 4≤n≤1000 4≤n≤1000。

2024-09-04 11:05:02 549

原创 c++机试——完全数计算

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。输入n,请输出n以内(含n)完全数的个数。数据范围: 1≤n≤5×105 1≤n≤5×105。

2024-09-04 10:35:48 531

原创 嵌入式通信协议——模拟IIC

IIC:Inter Integrated Circuit,集成电路总线,是一种同步 串行 半双工通信总线。

2024-08-09 15:52:12 1405

原创 freeRTOS内存管理

1、实验目的:学习使用 FreeRTOS 内存管理,并观察内存在申请和释放过程中内存大小的变化情况2、实验设计:将设计两个任务:start_task、task1start_task:用来创建task1任务task1:用于按键扫描,当KEY0按下则申请内存,当KEY1按下则释放内存,并打印剩余内存信息。

2024-08-08 16:03:19 307

原创 freeRTOS的Tickless低功耗模式

Tickless低功耗模式Tickless低功耗模式简介

2024-08-08 15:18:43 246

原创 freeRTOS软件定时器

软件定时器软件定时器简介软件定时器相关API函数软件定时器实验1、实验目的:学习 FreeRTOS 的软件定时器相关API函数的使用 。2、实验设计:将设计两个任务:start_task、task1start_task:用来创建task1任务,并创建两个定时器(单次和周期)task1:用于按键扫描,并对软件定时器进行开启、停止操作freertos_demo.c#include "freertos_demo.h"#include "./SYSTEM/usa

2024-08-08 14:49:10 432

原创 freeRTOS任务通知

1、实验目的:学习使用 FreeRTOS 中的任务通知功能模拟二值信号量和计数型信号量2、实验设计:将设计三个任务:start_task、task1、task2start_task:用来创建task1,task2任务;task1:用于按键扫描,当检测到按键KEY0被按下时,将发送任务通知task2:用于接收任务通知,并打印相关提示信息。

2024-08-08 12:18:43 940

原创 freeRTOS事件标志组

1、实验目的:学习 FreeRTOS 的事件标志组API函数的使用2、实验设计:将设计三个任务:start_task、task1、task2start_task:用来创建task1和task2任务,并创建事件标志组task1:读取按键按下键值,根据不同键值将事件标志组相应事件位置一,模拟事件发生task2:同时等待事件标志组中的多个事件位,当这些事件位都置 1 的话就执行相应的处理。

2024-08-07 15:49:53 500

原创 freeRTOS队列集

1、实验目的:学习 FreeRTOS 的队列集相关API的使用2、实验设计:将设计三个任务:start_task、task1、task2start_task:用来创建其它任务,并创建队列集,队列/信号量,将队列/信号量添加到队列集中task1:用于扫描按键,当KEY0按下,释放二值信号量,当KEY1按下,写入队列2,当wk_up按下,写入队列2task2:读取队列集中的消息,并打印。

2024-08-05 21:11:56 300

原创 freeRTOS信号量

1、实验目的:学习 FreeRTOS 的计数型信号量相关API函数的使用2、实验设计:将设计三个任务:start_task、task1、task2start_task:用来创建task1和task2任务;task1:用于按键扫描,当检测到按键KEY0被按下时,释放计数型信号量;task2:每过一秒获取一次计数型信号量,当成功获取后打印信号量计数值;1、实验目的:在使用二值信号量的时候会存在优先级翻转的问题,本实验通过模拟的方式实现优先级翻转,观察优先级翻转对抢占式内核的影响。

2024-08-05 20:37:03 311

原创 freeRTOS消息队列

1、实验目的:学习 FreeRTOS 的队列相关API函数的使用 ,实现队列的入队和出队操作。2、实验设计:将设计四个任务:start_task、task1、task2、task3start_task:用来创建task1和task2以及task3任务;task1:当按键key0或key1按下,将键值拷贝到队列key_queue(入队)当按键key_up按下,将传输大数据,这里拷贝大数据的地址到队列big_date_queue中。

2024-08-05 14:43:53 393

原创 freeRTOS时间管理-延时函数

1、实验目的:学习 FreeRTOS 相对延时和绝对延时API 函数的使用,并了解其区别2、实验设计:将设计三个任务:start_task、task1,task2start_task:用来创建task1和task2 任务;task1:用来展示相对延时函数vTaskDelay()的使用;task2:用来展示绝对延时函数vTaskDelayUntil()的使用。

2024-08-05 10:25:34 332

原创 freeRTOS任务相关API函数

1、实验目的:学习 FreeRTOS 任务状态与信息的查询API函数2、实验设计:将设计三个任务:start_task、task1、task2start_task:用来创建task1任务及task2任务;task1:LED0每500ms闪烁一次,提示程序正在运行;task2:用于展示任务状态信息查询相关API函数的使用;

2024-08-02 16:57:53 369

原创 freeRTOS时间片调度

实验设计:将设计三个任务:start_task、task1、task2,其中task1和task2优先级相同均为2。为了使现象明显,将滴答定时器的中断频率设置为50ms中断一次,即一个时间片50msstart_task:用来创建其他的两个任务task1:通过串口打印task1的运行次数task2:通过串口打印task2的运行次数。

2024-08-02 15:45:27 362

原创 freeRTOS的列表及列表项

1、实验目的:学会对FreeRTOS 列表和列表项的操作函数使用,并观察运行结果和理论分 析是否一致2、实验设计:将设计三个任务:start_task、task1、task2start_task:用来创建其他的两个任务;task1:实现LED0每500s闪烁一次,用来提示系统正在运行;task2:调用列表和列表项相关API函数,并且通过串口输出相应的信息,进行观察;

2024-08-02 12:24:28 273

原创 freeRTOS临界段代码保护及调度器挂起与恢复

freeRTOS临界段代码保护及调度器挂起与恢复

2024-08-01 21:15:41 181

原创 freeRTOS中断管理简介

实验目的:学会使用 FreeRTOS 的中断管理!本实验会使用两个定时器,一个优先级为 4 ,一个优先级为 6 ,注意:系统所管理的优先级范围: 5~15 , 现象:两个定时器每 1s ,打印一段字符串,当关中断时,停止打印,开中断时持续打印。实验设计:设计两个任务 start_task、task1start_task:用来创建task1任务task1:中断测试任务,任务中将调用关中断和开中断函数来体现对中断的管理作用!

2024-08-01 19:06:06 498

原创 freeRTOS任务挂起与恢复

实验目的:学会使用 vTaskSuspend()、vTaskResume()、xTaskResumeFromISR()实验设计内容:设计四个任务:start_task、task1、task2、task3task1:实现LED0每500ms闪烁一次task2:实现LED1每500ms闪烁一次task3:判断按键按下逻辑,KEY0被按下,挂起task1,按下KEY1在任务中恢复task1,按下KEY_WK_UP,在中断中恢复task1(外部中断线实现)

2024-08-01 15:43:01 348

原创 freeRTOS创建任务和删除任务实验,静态方法与动态方法

实验设计内容:设计四个任务:start_task、task1、task2、task3四个任务功能如下start_task:用来创建其他三个任务task1:实现LED0每500ms闪烁一次task2:实现LED1每500ms闪烁一次task3:判断按键key0是否按下,按下则删除task1。

2024-08-01 14:20:42 399

原创 freeRTOS创建任务和删除任务

创建任务和删除任务

2024-08-01 10:51:58 161

原创 freeRTOS移植

源码获取链接:https://pan.baidu.com/s/1IbIsSfqeQDvFmsZ4uOKSxQ?pwd=ucre提取码:ucre。

2024-07-31 20:29:46 373

原创 freeRTOS基础知识

freeRTOS 基础知识一、任务调度简介二、总结

2024-07-30 18:57:11 179

原创 freeRTOS入门

RTOS(实时操作系统)裸机与RTOS的区别

2024-07-30 15:56:11 235

原创 C++学习002

在生活中你家有客厅(public),有你的卧室(private),客厅所有的客人都可以进去,但你的卧室只有你能进去,但是呢,你也可以允许你的好朋友进去。在程序里,有些私有属性也想让类外一些特殊的函数或者类进行访问,就需要用到友元的技术,友元的目的就是让一个函数或者类访问另一个类中的私有成员,友元的关键字为friend友元的三种实现①全局函数做友元②类做友元③成员函数做友元。

2024-07-30 11:52:08 205

原创 c++学习001

静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员。

2024-07-30 10:53:13 428

STM32F103VET6例程(二)-KEY

STM32F103VET6例程(二)-KEY

2025-11-12

STM32F103VET6开发板例程(一)-LED

STM32F103VET6开发板例程(一)-LED

2025-11-12

oled驱动代码,基于stm32HAL库

oled驱动代码,基于stm32HAL库 驱动四针oled屏幕采用模拟IIC方式

2024-08-09

空空如也

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

TA关注的人

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