os_tick_config
所属模块:系统配置 | 类型:定时器配置函数
函数简介
os_tick_config 用于配置系统定时器的时间片参数,包括时间片数量与单个时间片长度。
该函数是系统调度器初始化的重要接口,用于建立基础的 tick 中断节拍机制。
配置完成后,系统将基于 tick_count 进行任务调度与时间管理。
函数原型
char os_tick_config(u8 slice_count, u16 tick_value);
参数说明
| 参数 |
说明 |
| slice_count |
时间片数量(系统调度周期) |
| tick_value |
单个时间片对应的计数值(定时器重装值) |
返回值
0 表示配置成功,-1 表示参数非法或配置失败。
源码实现
char os_tick_config(u8 slice_count, u16 tick_value)
{
if(tick_value == 0)
{
return -1;
}
OS_TICK_COUNT_H = 0;
OS_TICK_COUNT_L = 0;
OS_TIME_ONCE = slice_count;
tick_value = 65535 - tick_value;
tick_value++;
if(tick_value <= 1000)
{
return -1;
}
else
{
OS_T0_TH0 = tick_value >> 8;
OS_T0_TL0 = tick_value & 0xff;
}
return 0;
}
使用示例
void system_init()
{
if(os_tick_config(10, 5000) == 0)
{
// 定时器配置成功
}
}
注意事项
tick_value 不能为 0,且必须保证大于系统最小计时精度,否则配置失败。
该函数通常在系统初始化阶段调用。