当前位置: 首页 > news >正文

利用RTOS实现LED灯交替闪烁

利用RTOS实现LED灯交替闪烁

1、初始化

(1)时钟源

  • 使能RCC启用外部晶振
    img
    img

(2)GPIO

  • 使能PC0PC1,改为上拉推挽输出,用于控制小灯
    img
    img

(3)RTOS

  • 按照如下方式使能RTOS
    img
  • 选择一个空闲的计时器,作为基本时钟源
    img

2、编辑进程

(1)创建进程

  • CubeMX中创建进程
    img
  • 点击Add后,编辑线程名称和函数名称,完成后再点击OK按钮
    img
  • 此处添加2个任务
    img
    img

(2)写入内容

  • RTOS环境中,任务会执行指定的Entry Function,因此我们需要在指定的进入函数处写入代码

主函数流程图:
img

  • 在上一步中,我们指定了void led1Task(void *argument)void led2Task(void *argument两个函数

两线程的流程图(思路):
img

I led1Task

  • 并行实现交替闪烁的方式是一方闪烁,一方延时,因此代码如下:
/* USER CODE END Header_led1Task */
void led1Task(void *argument)
{/* USER CODE BEGIN led1Task *//* Infinite loop */for(;;){for(int i = 0; i < 5; i++){
//		  osDelay(200);HAL_GPIO_WritePin(GPIOC, LED0_Pin, GPIO_PIN_SET);osDelay(100);HAL_GPIO_WritePin(GPIOC, LED0_Pin, GPIO_PIN_RESET);osDelay(100);}osDelay(1000);}/* USER CODE END led1Task */
}

II led2Task

  • 有理可得,led2Task函数的代码如下
void led2Task(void *argument)
{/* USER CODE BEGIN led2Task *//* Infinite loop */for(;;){osDelay(1000);for(int i = 0; i < 5; i++){osDelay(100);HAL_GPIO_WritePin(GPIOC, LED1_Pin, GPIO_PIN_SET);osDelay(100);HAL_GPIO_WritePin(GPIOC, LED1_Pin, GPIO_PIN_RESET);}}/* USER CODE END led2Task */
}

3、实验效果

  • 编译烧录后,两小灯会交替闪烁,每次闪烁五次
http://www.rkmt.cn/news/27005.html

相关文章:

  • 20232309 2025-2026-1 《网络与系统攻防技术》实验二实验报告
  • 2025年轻触开关/检测开关厂家推荐排行榜,轻触按键开关,防水轻触开关,贴片轻触开关,检测开关源头厂家精选指南
  • 2025年护栏厂家推荐排行榜:市政护栏,道路护栏,桥梁护栏,小区护栏,锌钢护栏,阳台护栏公司精选
  • CentOS下安装部署Docker
  • 2025年发电机组厂家权威推荐榜:柴油发电机、静音发电机组源头企业综合实力与能效表现深度解析
  • 999
  • 极大极小搜索
  • 法语NER模型在可再生能源领域的应用
  • mochi-mqtt/server 实现一个mqtt bridge 功能
  • 2025年立式TYPE-C母座厂家推荐排行榜,TYPE-C接口,USB-C母座,立式贴片TYPE-C连接器,防水TYPE-C母座公司精选
  • 2025年沈阳酒店电话推荐:北站西塔丽柏宠物友好市中心步行地铁口。
  • 2025年发电机厂家推荐排行榜,发电机组出租,柴油发电机出租,甲醇发电机组租赁,移动式发电机出租,维修保养服务公司推荐
  • 表获取
  • 打卡测试
  • 【GitHub每日速递 251022】81.2k star, Bun:替代 Node.js 的全栈 JavaScript 神器,快速上手攻略来了!
  • 2025年陶瓷过滤机厂家权威推荐榜:真空/盘式/矿用/全自动/真空带式陶瓷过滤机,固液分离设备,真空脱水机,尾矿处理设备,圆盘过滤机专业选购指南
  • [Bash] Bash Survival Guide for Python Programmers
  • 2025年防腐木厂家权威推荐榜:深度解析户外防腐木、碳化木、景观木优质厂家实力与选购指南
  • 2025年流量控制设备厂家推荐排行榜:流量计,流量控制器,流量调节阀,流量控制阀,比例调节阀专业选购指南
  • 2025年吹塑机厂家推荐排行榜,挤出吹塑机,注射吹塑机,拉伸吹塑机,发泡吹塑机,物理发泡吹塑机,mucell发泡吹塑机,工具箱吹塑机,瓶子吹塑机,半导体清洗液瓶子吹塑机公司推荐
  • 使用Jupyter和Prodigy发现文本分类中的错误标签
  • 我国互联网公司最新市值排名!
  • 分割模型 语言转分割CLIPSeg - MKT
  • 在 Python 中,为什么说“一切皆对象”?
  • ESP32 Arduino核心框架:全面支持多款ESP32芯片的开发平台
  • 联邦学习与AI公平性研究新进展
  • 为什么一般教材在讲解python的多态概念时,不用抽象基类及其相关内容讲解呢?
  • tryhackme-预安全-windows基础-windows 基础知识1-16
  • YOLO11深度学习的遥感视角地面房屋建筑检测分割与分析系统 - MKT
  • 鸭子类型(Duck Typing)中的“类型”,指的是什么的类型?为什么很多人认为“Python 没有真正实现多态”