1. OSTaskCreate 的参数中有一个 void *p_ext,这个参数用来传递额外的信息,可以用来传递数组,结构体等等。

  2. AppTaskStart --> CPU_Init --> CPU_TS_Init --> CPU_TS_TmrInit --> BSP_CPU_ClkFreq() 这个函数是需要用户自己实现的,是MCU的主频。 对于STM32而言,返回的是 HCLK_Frequency。

  3. mutex 和 sem 的区别是高优先级任务在等待信号量时的表现。比如说低优先级任务已经申请到了打印机的信号量,正在打印的时候,高优先级任务也要使用打印机,开始申请信号量,如果是 mutex,那么高优先级任务的打印数据会插入到低优先级的打印数据中,造成打印混乱的现象,如果是 sem,那么高优先级任务会等待低优先级任务打印完成并释放信号量后,才能开始打印。

标签: UCOS

添加新评论