|

楼主 |
发表于 2015-9-18 19:13:48
|
显示全部楼层
回 eric2013 的帖子
eric2013:方便的话,我看下你是如何创建和使用的。 (2015-09-18 17:59)  OS_SEM SEM_RTC; // 用于 rtc 任务显示功能
OS_SEM SEM_KEY; // 用于按键的发送、接收
CPU_BOOLEAN BSP_OS_SemCreate (BSP_OS_SEM *p_sem,
BSP_OS_SEM_VAL sem_val,
CPU_CHAR *p_sem_name)
{
OS_ERR err;
OSSemCreate((OS_SEM *)p_sem,
(CPU_CHAR *)p_sem_name,
(OS_SEM_CTR )sem_val,
(OS_ERR *)&err);
if (err != OS_ERR_NONE) {
return (DEF_FAIL);
}
return (DEF_OK);
}
static void AppObjCreate (void)
{
// /* 创建同步信号量 */
/* 创建同步信号量 */
BSP_OS_SemCreate(&SEM_RTC,
0,
(CPU_CHAR *)"SEM_RTC");
/* 创建同步信号量 */
BSP_OS_SemCreate(&SEM_KEY,
0,
(CPU_CHAR *)"SEM_KEY");
}
上面创建的信号量,随便去掉哪个,程序就没有问题了,但是同时创建两个就不行了,程序就进入错误中断了 |
|