[STM32]同步时间调度方法 “时间片”语义编程

本文介绍了一种在STM32芯片上实现的简单同步时间调度方法,利用TIM4定时器中断和“时间片”概念,确保循环程序在指定时间内执行。通过SLICE宏检查执行权限,避免竞争条件,适用于需要简单调度解决方案的同步任务。这是一种时间片轮转调度算法的变化形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

byAlex Feb2013 MDK编译测试 (分别在STM32F107和STM32F103芯片测试,分别调用了自带的库)


这是个帮助实现同步时间调度的程序,需要低层硬件的支持(定时器中断)。它本身利用定时器(TIM4),使一个特殊的变量“SliceTime”从0开始随时间增长(1/ms),一旦达到了指定的最大值,又回归到零,如此往复……任何一段循环的程序可以通过SLICE宏来间接检查自己是否在允许的时间片内,如果此时不被允许执行,就跳过这段程序。这段源代码的意义就在于实现简单实用的同步时间调度。异步任务可能引起“竞争条件”等一些复杂的问题,如果只需要一个简单的方案就可以解决问题,那么同步编程仍然是最好的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值