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 值过小会导致中断频率过高,影响系统稳定性,应根据硬件频率合理配置。