/**
* [url=home.php?mod=space&uid=247401]@brief[/url] Wait until a Semaphore token becomes available
* @param semaphore_id semaphore object referenced with \ref osSemaphore.
* @param millisec timeout value or 0 in case of no time-out.
* @retval number of available tokens, or -1 in case of incorrect parameters.
* [url=home.php?mod=space&uid=536309]@NOTE[/url] MUST REMAIN UNCHANGED: \b osSemaphoreWait shall be consistent in every CMSIS-RTOS.
*/
int32_t osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t millisec)
如上,osSemaphoreWait,按上面说明的,返回值应该为获取到的信号量数目,或者-1。
但是实际返回的是osOK,osOK==0.
像这种实际代码与文档有冲突的地方,当然应该以代码为准。但是为什么没有合适的文档来说明呢?
我查看的是ARM官方的CMSIS-RTOS文档,因为确实没找到ST方面的文档。UM1722里面也没有细说。
这段代码的库为“STM32Cube_FW_F0_V1.8.0”。
|