|
本帖最后由 hi201803 于 2018-3-15 18:15 编辑 % j L0 l, I) G- O+ V" y4 \# w 4 W/ q) X8 v; s# a- C: P 版本: STM32CubeF1 Firmware Package V1.6.0 / 17-May-20172 C1 s4 f! X9 e/ o: B 错误1: osSemaphoreWait 应该返回可用资源数, 但实际返回的是 osStatus . 参看 CMSIS-RTOS Version 1.02 约定6 W4 P1 W& V# c/ s $ z. j5 R1 G( [% O" n5 [$ x 错误2: 使用osSemaphoreCreate ,创建含一个资源的信号, 如下代码 ,接着使用 osSemaphoreWait, 返回错误 6 v, O `! L7 Y8 I osSemaphoreId Sem11Handle; osStaticSemaphoreDef_t Sem11ControlBlock; 2 e7 A% L! V% g5 O4 d2 C void os_source(void) {- G; c; d3 f4 Q# K6 d/ { v osSemaphoreStaticDef(Sem11, &Sem11ControlBlock);3 r# m: t* u+ ^' ~& C* r- Q Sem11Handle = osSemaphoreCreate(osSemaphore(Sem11),1);& I8 ]$ q2 l1 q" N if( osSemaphoreWait (Sem11Handle, 0 ) != osOK ) while(1); // 这里 osSemaphoreWait 返回错误 }! e9 L2 g7 p3 z& x - ^/ V( I6 p: k. Q8 S' l; \$ B |
微信公众号
手机版