This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1310- TI RTOS 相关困惑,请理解TI RTOS工作的朋友帮解惑??!!




// Initialize client state & variables memset(&pObj->state, 0, sizeof(pObj->state)); // Initialize client semaphore and clock object union { Semaphore_Params sp; Clock_Params cp; } paramsUnion; Semaphore_Params_init(&paramsUnion.sp); paramsUnion.sp.mode = Semaphore_Mode_BINARY; Semaphore_construct(&pObj->state.semSync, 0, &paramsUnion.sp); Clock_Params_init(&paramsUnion.cp); paramsUnion.cp.arg = (UArg)pObj; Clock_construct(&pObj->state.clkInactivity, (Clock_FuncPtr)clkInactivityFxn, 0, &paramsUnion.cp);

  • CC1310 例程中 RF_open() 里有这段,有几个里方让我困惑:
    1.  pObj->state 被清成0,,Clock_construct(&pObj->state.clkInactivity, (Clock_FuncPtr)clkInactivityFxn, 0, &paramsUnion.cp); ? 这里的 &pObj->state.clkInactivity, == NULL ??
    2. // Initialize client semaphore and clock object union { Semaphore_Params sp; Clock_Params cp; } paramsUnion; 联合? 两类变量;
    还有 变量在函数里定义了,并初始化了,但是退出去不是又变不可见了。。。。


  • 这个参数变量会在clock_construct中赋值到Clock_Object中去,所以局部变量也可以。