ESP8266 Developer Zone The Official ESP8266 Forum 2015-12-31T10:50:37+08:00 https://bbs.espressif.com:443/feed.php?f=65&t=1551 2015-12-31T10:50:37+08:00 2015-12-31T10:50:37+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1551&p=5196#p5196 <![CDATA[Re: 在1.3版本的RTOS-SDK下,关于vTaskDelay的问题]]> 还有就是——你觉得这个方法靠谱吗?现在不是刚学rtos的小白,有高低两个优先级线程,“低优先级的任务运行之前,suspend 高优先级的任务,运行完之后,再 resume 该高优先级的任务”;而是比方说有十个任务,要运行最低的任务要把优先级排在它前面的九个任务挂起,要运行第二低的任务要把优先级排在它前面的八个任务挂起,……
如果你提供升级优先级任务的方法,我勉强可以接受。——"1.运行高优先级的任务前,使用vTaskDelay(0);2.运行高优先级的任务后,把此高优先级任务降到最低;3.由于有vTaskDelay(0)使调度器重新启动,从而让低优先级的任务运行,运行低优先级的任务后,把之前的高优先级任务升到原来的优先级。”
现在我问个明确的问题就好了——“能不能设置1个tick所需的时间是1ms,也就是vTaskDelay(1)=1ms",能不能就一两个字的事,别再让我等5天了,谢谢,拜托了! :|

Statistics: Posted by nson7 — Thu Dec 31, 2015 10:50 am


]]>
2015-12-30T17:04:44+08:00 2015-12-30T17:04:44+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1551&p=5189#p5189 <![CDATA[Re: 在1.3版本的RTOS-SDK下,关于vTaskDelay的问题]]>
您可以使用 os timer 定时,然后调用 freeRTOS 自带的函数,suspend 要挂起的任务。
或者在低优先级的任务运行之前,suspend 高优先级的任务,运行完之后,再 resume 该高优先级的任务。

感谢您对 ESP8266 的关注!

Statistics: Posted by ESP_Faye — Wed Dec 30, 2015 5:04 pm


]]>
2015-12-30T14:40:46+08:00 2015-12-30T14:40:46+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1551&p=5185#p5185 <![CDATA[Re: 在1.3版本的RTOS-SDK下,关于vTaskDelay的问题]]> 望回复,谢谢! :x

Statistics: Posted by nson7 — Wed Dec 30, 2015 2:40 pm


]]>
2015-12-25T10:44:12+08:00 2015-12-25T10:44:12+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1551&p=5151#p5151 <![CDATA[在1.3版本的RTOS-SDK下,关于vTaskDelay的问题]]> 首先你们说“请勿修改 FreeRTOSConfig.h,改动并不会影响底层运行,无法生效。”,
因此在FreeRTOSConfig.h中"#define configTICK_RATE_HZ( ( portTickType ) 100 )"这个无法修改。那是要用vTaskDelayUntil的这个API,还是用其他的方法呢?(请不要提供不靠谱的方法 :) )
望回复,谢谢。如有可能,提供一下demo程序。 :)

Statistics: Posted by nson7 — Fri Dec 25, 2015 10:44 am


]]>