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

蓝桥杯嵌入式-任务调度器

注:本篇文章基于蓝桥杯嵌入式-创建项目

一、建立.c.h文件






二、补充相关代码

2.1 task.c

2.1.1 修改位置

2.1.2 修改代码
#include"task.h"uint8_ttask_num;typedefstruct{void(*task_func)(void);uint32_trate_ms;uint32_tlast_run;}task_t;task_tscheduler_t[]={};voidtask_init(){task_num=sizeof(scheduler_t)/sizeof(task_t);}voidtask_run(){for(uint8_ti=0;i<task_num;i++){uint32_ttime_tick=uwTick;if(time_tick>=scheduler_t[i].rate_ms+scheduler_t[i].last_run){scheduler_t[i].last_run=time_tick;scheduler_t[i].task_func();}}}

2.2 task.h

2.2.1 修改位置

2.2.2 修改代码
#ifndef_TASK_H#define_TASK_H#include"main.h"#include"string.h"#include"stdio.h"#include"stdarg.h"voidtask_init();voidtask_run();#endif

2.3 main.c

2.3.1 修改位置


2.3.2 修改代码
#include"task.h"//①task_init();//②task_run();//③

三、其他

3.1 提示

注:添加的代码要放在BEGIN和End之间,否则使用STM32CubMX更新配置时,非BEGIN和END之间的代码会丢失。

/* USER CODE BEGIN 2 */task_init();//这就是位于BEGIN和END之间/* USER CODE END 2 *//* USER CODE BEGIN WHILE */while(1){task_run();//这就是位于BEGIN和END之间/* USER CODE END WHILE */

3.2 debug调试

注:在没有显示的情况下可以使用keil5内置的调试器来读取相关变量值的变化情况(验证前面的步骤是否有问题,有LCD显示可以用LCD代替)。这步需要使用task.c带注释版本代码。

Debug教程视频(值得学一下):https://b23.tv/OsUBmFv

3.3 代码下载

链接:https://pan.quark.cn/s/b6b3d982f73d

http://www.jsqmd.com/news/475004/

相关文章:

  • GME-Qwen2-VL-2B-Instruct效果展示:修复指令后,低匹配误判率下降68%(实测数据)
  • Qwen3-VL:30B快速部署教程:星图平台Qwen3-VL:30B+Clawdbot飞书集成全流程
  • all-MiniLM-L6-v2部署教程:Ollama + Grafana构建Embedding服务可观测体系
  • Pi0真实场景迁移路径:演示模式→仿真环境→真机ROS桥接全流程
  • GTE-Pro快速上手:curl命令直调REST API,验证‘缺钱’→‘资金链断裂’语义映射
  • 国家超算中心免费算力 海光深算三号BW1000(即异构加速卡BW)性能上对标NVIDIA H100,在AI训练 A100
  • DeepChat环境配置:Mac M2/M3芯片原生运行Llama3:8b的Metal加速配置指南
  • 2026年靠谱的等离子切割电焊两用机工厂推荐:固态电池焊接逆变两用机厂家选择指南 - 品牌宣传支持者
  • lingbot-depth-vitl14多场景实战:机器人SLAM前端深度图供给、AR虚拟锚点定位应用
  • DAMO-YOLO嵌入式部署:树莓派5+RPi.GPIO硬件触发识别流程
  • Nanbeige4.1-3B实战手册:用WebUI API对接企业微信/钉钉Bot服务
  • 2026年口碑好的推拉棚厂家推荐:活动推拉棚/大型推拉棚/大型固定推拉棚实力工厂怎么选 - 品牌宣传支持者
  • Qwen3-TTS声音克隆入门指南:如何录制高质量参考音频提升克隆效果
  • Nunchaku FLUX.1-dev开源可审计优势:模型权重/代码/工作流全透明
  • Qwen3-ASR-1.7B应用场景:法律庭审录音→发言角色分离+证据片段定位系统
  • 2026年知名的不插电电焊机厂家推荐:电机车蓄电池电焊机/矿用直流轨道电焊机实力工厂怎么选 - 品牌宣传支持者
  • CLIP-GmP-ViT-L-14部署教程:NVIDIA驱动+CUDA12.1+PyTorch2.1兼容方案
  • 伏羲天气预报实时校准:在线学习机制对预报偏差的动态补偿教程
  • Express/Koa 中间件的洋葱模型解析
  • GTE中文嵌入模型保姆级教程:GPU内存不足时的batch_size调优策略
  • 2026年比较好的防水涂料工厂推荐:道桥水性沥青基防水涂料/水泥基渗透结晶型防水涂料公司口碑哪家靠谱 - 品牌宣传支持者
  • 保护隐私的AI写真方案:Asian Beauty Z-Image Turbo纯本地推理实战解析
  • GraphQL 查询语言与 Schema 设计:构建高效数据交互的基石
  • 云容笔谈效果实测:1024×1024输出+艺术边框装裱,直出即用印刷级品质
  • 2026年质量好的不锈钢铸造工厂推荐:五金不锈钢铸造/不锈钢铸造代加工/东莞不锈钢铸造定制源头厂家推荐几家 - 品牌宣传支持者
  • AIGlasses_for_navigationPython调用大模型避坑指南:DashScope ASR与LLM协同要点
  • C++知识总结
  • 2026年质量好的折叠天幕工厂推荐:弧形折叠天幕/户外折叠天幕/弧形铝合金折叠天幕厂家实力哪家强 - 品牌宣传支持者
  • WebSocket 双向通信协议的握手与帧解析
  • Chandra OCR部署案例:中小企业用RTX 3060构建低成本文档智能处理平台