os_timer_length

所属模块:时间管理 | 类型:系统配置函数

函数简介

os_timer_length 用于设置系统节拍周期(Tick)以及定时器重装值, 是 HRTOS 时间管理模块中的基础配置接口。

该函数直接影响任务调度频率与系统响应速度, 合理配置可以在实时性与性能之间取得平衡。

函数原型

char os_timer_length(unsigned char tick, unsigned int reload) reentrant;

参数说明

参数 说明
tick 每个时间片的长度(调度周期单位)
reload 定时器重装计数值(用于控制中断频率)

返回值

0 表示成功,-1 表示参数非法或配置失败。

源码实现

char os_timer_length(unsigned char tick, unsigned int reload) reentrant { if(tick == 0) return -1; OS_TIME_ONCE = tick; reload = 65536 - reload; if(reload <= 1000) return -1; OS_T0_TH0 = reload >> 8; OS_T0_TL0 = reload & 0xFF; return 0; }

使用示例

void main() { // 设置时间片为10,定时器周期 os_timer_length(10, 50000); while(1) { } }

注意事项

reload 值过小会导致中断频率过高,影响系统稳定性,应根据硬件频率合理配置。

相关推荐