找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2264|回復: 1
打印 上一主題 下一主題
收起左側

關于UCOS-III的問題1

[復制鏈接]
跳轉到指定樓層
樓主
ID:232813 發(fā)表于 2017-9-13 09:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位高手,小弟正在基于MSP432單片機及UC/OS-III開發(fā)應用。實現(xiàn)的功能是使用信號量控制串口發(fā)送數(shù)據。創(chuàng)建了信號量,初始化為0,串口任務中等待信號量。單步調試執(zhí)行到OSSemPend的時候,發(fā)現(xiàn)任務并沒有掛起等待,而是繼續(xù)執(zhí)行后面的語句。請教各位高手其中的原因。謝謝!串口發(fā)送任務代碼如下:
     staticvoid App_TaskUART(void *p_arg)
{
   OS_ERR       os_err;
   CPU_BOOLEAN  SemFlag;
   (void)p_arg;
   while (1)
    {
       SemFlag = BSP_OS_SemWait(&SEM_UARTTX , 0);
       if(SemFlag == DEF_OK)
       {
           MAP_UART_transmitData(EUSCI_A2_BASE , UARTTXData);
       }
       OSTimeDlyHMSM(0u , 0u , 1u , 0u
                      , OS_OPT_TIME_HMSM_STRICT
                      , &os_err);
    }
}
CPU_BOOLEAN BSP_OS_SemWait (BSP_OS_SEM  *p_sem
                             , CPU_INT32U   dly_ms)
{
   OS_ERR      err;
   CPU_INT32U  dly_ticks;
   dly_ticks  = ((dly_ms *DEF_TIME_NBR_mS_PER_SEC) / OSCfg_TickRate_Hz);/*將毫秒級延時轉換為滴答數(shù)*/
    /*等待接收信號量*/
   OSSemPend((OS_SEM *)p_sem,
             (OS_TICK )dly_ticks,
             (OS_OPT  )OS_OPT_PEND_BLOCKING,
             (CPU_TS  )0,
             (OS_ERR *)&err);
    if(err != OS_ERR_NONE)
    {
      return (DEF_FAIL);
    }
   return (DEF_OK);
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:140642 發(fā)表于 2017-9-14 13:42 | 只看該作者
應該關了時鐘中斷,等完事后在開開
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表