问题
单片机开发过程中,随着任务的增多,完全等待一个任务完成后,再去执行下一个任务的弊端越发明显。
在while(1)循环中实现led 周期闪烁,提示系统正常运行。
代码实例:
采用时间分割思想,去处理不同的任务,每次执行1ms,到500次时,执行相应功能。
代码
定义结构体:
delay:时间片执行时长;
period:任务执行周期。
添加(创建)任务:
删除任务:
更改任务:
执行调度器:
定时器查询时间片:
测试
封装好了必要的函数之后,接下来学习如何使用,很简单,首先创建几个任务,创建了2个任务,两个任务分别是task01,“时间片”是50ms(自己根据需要订),任务周期是500ms,task02,“时间片”是10ms(自己根据需要订),任务周期是1000ms:
在systick(或者其他定时器)中调用,关于systick的使用:stm32实例-systick实现2个led流水灯效果。
最后只需要在while中调用调度器就ok了(类似于lvgl的设计思路),根据我们的设计,两个任务,一个是500ms打印“task01 test”,另一个1000ms打印“task02 test”。
断电后灯依然可以亮,反向供电竟如此神奇?
利用低功耗单片机来设计实现一个实用的步进电机控制和驱动系统
无人机反制设备干扰模式分类
Intel10nm制程CannonLake处理器的NUC迷你电脑开售
快讯:标准已经冻结,5G车联网或将加速到来?
STM32单片机裸机:实现多任务设计实现
电机控制中三相电机改为单相电机的原理和方法
三十秒破解笔记本人脸识别技术
ABI Research预测,到2020年约有1.28亿个家庭将转变为智能家居
ARM+AMD双A合作 共抗英特尔
华硕灵耀U3100拆解 内部布局和做工都还不错
探究未来3D打印产业的发展趋势,关键在于材料创新
TigerLake平台处理器跑分曝光 4核8线程主频1.2GHz
Facebook的人工智能可以帮助人们挫败面部识别系统
智能水利安防系统在水利水库安防中的应用
华为智慧政务峰会2020成功举办
20万“光伏人”涌入!SNEC上海盛会利尔达展位人气高涨!
中国智能汽车车载计算芯片落地场景研究
7.5的电动机100米远,31A总跳闸是什么原因?
电竞路由器推荐指南:拒绝延迟畅游网络世界