os_sem_init
所属模块:通信机制 | 类型:信号量初始化函数
函数简介
os_sem_init 用于初始化指定信号量的初始值,
是信号量机制的基础配置接口。
在系统启动或资源创建阶段,应先调用该函数,
确保信号量处于可用状态。
函数原型
void os_sem_init(u8 id, u8 value);
参数说明
| 参数 |
说明 |
| id |
信号量ID(0 ~ OS_INFORMATION_PUBLIC-1) |
| value |
信号量初始值 |
源码实现
void os_sem_init(u8 id, u8 value)
{
if(id < OS_INFORMATION_PUBLIC)
{
OS_INFORMATION_COMMON[id] = value;
}
}
使用示例
void system_init()
{
os_sem_init(0, 1); // 初始化二值信号量
os_sem_init(1, 3); // 初始化计数信号量
}
注意事项
信号量必须在使用 os_sem_take / os_sem_give 前初始化,否则行为不可预测。