ucos-iii 产生同步信号量请教下 ???

2019-07-21 01:34发布

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)
{
 /* 创建同步信号量   1 */
    BSP_OS_SemCreate(&SEM_KEY,
      0,
      (CPU_CHAR *)"SEM_KEY"); 


 /* 创建同步信号量   2*/
    BSP_OS_SemCreate(&SEM_RTC,
      0,
      (CPU_CHAR *)"SEM_RTC"); 


}


问题如下:
产生同步信号量 1 ,2 兑换先后顺序,则产生的同步信号量不起作用,也就无效,但是按照上面的先后顺序,产生的同步信号量可以正常使用,这是何故啊 ???
rtc的同步信号量是在rtc的中断函数里面进行发送,美妙发送一次,key是通过按键发送的,
一个任务等带rtc信号量,另外一个任务等待key信号量。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。