关于FreeRTOS中*xTaskResumeAll()的返回值问题
请问“如果一个挂起的上下文切换请求在*xTaskResumeAll()返回前得到执行,则函数返回pdTRUE,”这句话怎么理解,挂起调度器不是不会有任务执行么这中文翻译的多别扭,看英文就清楚了。If resuming the scheduler caused a context switch then pdTRUE is returned, otherwise pdFALSE is returned. 这中文翻译的多别扭,看英文就清楚了。If resuming the scheduler caused a context switch then pdTRUE is returned, otherwise pdFALSE is returned. divineliu 发表于 2014-9-2 14:34
这中文翻译的多别扭,看英文就清楚了。If resuming the scheduler caused a context switch then pdTRUE is ...
首先谢谢大神解释啊,我可能明白了,这句话是说恢复调度产生上下文切换就返回pdtrue,我的疑问是假如一个上下文切换请求被挂起,在那应该在恢复调度之后再进行上下文切换,但是事实在*xTaskResumeAll()的函数执行过程中恢复调度后就会尝试进行上下文切换,而不是在*xTaskResumeAll()函数执行完成后,类似中断服务程序中的强制切换上下文,是这样理解的吧?还有,请问您那句英文解释是在哪个资料上面的 divineliu 发表于 2014-9-2 14:34
这中文翻译的多别扭,看英文就清楚了。If resuming the scheduler caused a context switch then pdTRUE is ...
大神,请问您那句英文解释是在哪个资料上面的 阿瑟斯的小溪 发表于 2014-9-2 15:06
首先谢谢大神解释啊,我可能明白了,这句话是说恢复调度产生上下文切换就返回pdtrue,我的疑问是假如一个 ...
即使在xTaskResumeAll()的函数执行过程中进行了切换,
最终它还是要返回的呀,所以根据情况给你一个返回值呗。
因为FreeRtos有源代码,看看源代码就很清楚了。 阿瑟斯的小溪 发表于 2014-9-2 15:29
大神,请问您那句英文解释是在哪个资料上面的
我也忘记哪里下到的了。也许还是坛子里的。 divineliu 发表于 2014-9-3 09:47
我也忘记哪里下到的了。也许还是坛子里的。
谢谢大神,呵呵。。再请教您个问题:我知道空闲任务钩子函数vApplicationIdleHook()是在启动调度器vTaskStartScheduler时创建prvIdleTask任务中创建的;那么定义心跳钩子函数vApplicationTickHook()是在哪里创建的? 阿瑟斯的小溪 发表于 2014-9-3 11:31
谢谢大神,呵呵。。再请教您个问题:我知道空闲任务钩子函数vApplicationIdleHook()是在启动调度器vTaskS ...
首先我不是大神啊。
这个你搜索源代码就知道了,是在 xTaskIncrementTick( void ) 中调用vApplicationTickHook()的。
不过你不用管这些,需要的话按照要求准备这个函数的实体就行了。
页:
[1]