如果想讓任務(wù)以絕對(duì)時(shí)間執(zhí)行,比如每3000毫秒執(zhí)行一次,要求精度很高分毫不差。此時(shí)用vTaskDelay(3000)就不能實(shí)現(xiàn)了。需要用到以下函數(shù):
vTaskDelayUntil(&xLastWakeTime, xFrequency)//本函數(shù)會(huì)自動(dòng)更新xLastWakeTime為最后一次喚醒的時(shí)間,只需第一次使用時(shí)賦值。
xTaskGetTickCount():1ms增加1,是uint32_t類型,49天才會(huì)復(fù)位

審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
FreeRTOS
+關(guān)注
關(guān)注
14文章
499瀏覽量
67243
原文標(biāo)題:FreeRTOS任務(wù)以絕對(duì)時(shí)間運(yùn)行
文章出處:【微信號(hào):硬件會(huì),微信公眾號(hào):硬件會(huì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
如何在 i.MX8QM 上將 FlexCAN 與 FreeRTOS 任務(wù)(信號(hào)量或任務(wù)通知)一起使用?
我正在使用運(yùn)行 FreeRTOS 的 i.MX8QM Cortex-M4。
我使用帶有中斷回調(diào)的恩智浦 FlexCAN 驅(qū)動(dòng)程序。在回調(diào)中,我嘗試調(diào)用 xSemaphoreGiveFromISR
發(fā)表于 04-16 06:31
Freertos 任務(wù)視圖顯示運(yùn)行時(shí)值,但配置后百分比錯(cuò)誤,為什么?
我們使用的是 MCUXpresso 25.6.136、FreeRTOS 11.0.1 和 SDK_2.x_MCXA156 25.06.00。我們調(diào)整了以下教程來(lái)配置 FreeRTOS 的運(yùn)行時(shí)統(tǒng)計(jì)
發(fā)表于 04-03 07:12
標(biāo)準(zhǔn)脈沖時(shí)間間隔發(fā)生器使用場(chǎng)景解析,時(shí)間脈沖發(fā)生器、數(shù)字脈沖延遲發(fā)生器
、可定制時(shí)序信號(hào)的核心設(shè)備,憑借其對(duì)時(shí)間維度的精細(xì)掌控能力,成為連接理論研究與工程應(yīng)用的“時(shí)序橋梁”。其中,西安同步電子科技有限公司研發(fā)的SYN5612型時(shí)間間隔發(fā)生器,以符合國(guó)家校準(zhǔn)規(guī)范的嚴(yán)苛標(biāo)準(zhǔn)和靈活適配的產(chǎn)品
標(biāo)準(zhǔn)脈沖時(shí)間間隔發(fā)生器使用場(chǎng)景解析
協(xié)同,都離不開對(duì)時(shí)間間隔的精準(zhǔn)調(diào)控。時(shí)間間隔發(fā)生器作為生成高穩(wěn)定、可定制時(shí)序信號(hào)的核心設(shè)備,憑借其對(duì)時(shí)間維度的精細(xì)掌控能力,成為連接理論研究與工程應(yīng)用的“時(shí)序橋梁”。其中,西安同步電子科技有限公司研發(fā)的SY
FreeRTOS 空閑任務(wù)
FreeRTOS 中很多人會(huì)注意到為什么有一個(gè)叫IDLE task的任務(wù)占用了CPU百分之九十多的使用權(quán),但是這個(gè)任務(wù)并沒有自己手動(dòng)創(chuàng)建。原因就是這個(gè)空閑任務(wù)是系統(tǒng)自己創(chuàng)建的,每當(dāng)系統(tǒng)
發(fā)表于 12-04 07:35
freertos關(guān)閉任務(wù)調(diào)度的方法
#include \"FreeRTOS.h\"
#include \"task.h\"
/* 關(guān)閉任務(wù)調(diào)度 */
void
發(fā)表于 11-17 06:47
嵌入式實(shí)時(shí)操作系統(tǒng)的特點(diǎn)
通常具有以下特點(diǎn):
快速響應(yīng):實(shí)時(shí)嵌入式操作系統(tǒng)能夠迅速響應(yīng)外部事件或任務(wù)請(qǐng)求,以滿足實(shí)時(shí)任務(wù)的時(shí)間要求。
穩(wěn)定性和可靠性:實(shí)時(shí)嵌入式操作系統(tǒng)要求系統(tǒng)能夠在各種環(huán)境條件下穩(wěn)定可靠地
發(fā)表于 11-13 06:30
FreeRTOS任務(wù)調(diào)度及優(yōu)先級(jí)問題
大家好,最近本人在學(xué)習(xí)FreeRTOS ,之前有過(guò)一些裸機(jī)開發(fā)的經(jīng)驗(yàn),目前知道了FreeRTOS的任務(wù)是基于時(shí)間片輪轉(zhuǎn)來(lái)調(diào)度,也就是知道了任務(wù)
發(fā)表于 11-06 02:18
at_device 包 ml307長(zhǎng)時(shí)間運(yùn)行有內(nèi)存泄漏問題怎么解決?
使用 at_device 包中的 ml307 包長(zhǎng)時(shí)間運(yùn)行有大量?jī)?nèi)存泄漏問題,大概漲了20K,求助解決。
發(fā)表于 09-24 07:41
stm32f407 以太網(wǎng) 長(zhǎng)時(shí)間運(yùn)行 modbustcp 數(shù)據(jù),網(wǎng)絡(luò)接口掛死怎么解決?
硬件配置:正點(diǎn)原子F407開發(fā)板
軟件環(huán)境:env rtthread 5.2
問題描述:使用modbus slave tcp進(jìn)行數(shù)據(jù)通信,長(zhǎng)時(shí)間運(yùn)行后,發(fā)現(xiàn)上位機(jī)客戶端無(wú)法連接開發(fā)板,拔掉網(wǎng)線后
發(fā)表于 09-11 08:23
STM32F103長(zhǎng)時(shí)間運(yùn)行,串口發(fā)送失敗怎么解決?
STM32F103長(zhǎng)時(shí)間運(yùn)行,串口發(fā)送失敗,目前定位到一致卡在USART_FLAG_TC判斷那里,我們采用輪詢的方式發(fā)送數(shù)據(jù),然后判斷USART_FLAG_TC是否發(fā)送成功,在大量發(fā)送后出現(xiàn)了一次發(fā)送后USART_FLAG_TC沒有置位,然后就一直卡在這里了,這可如何是好?
發(fā)表于 07-30 07:55
GPS對(duì)時(shí)裝置如何提升工業(yè)系統(tǒng)的時(shí)間精度?
在現(xiàn)代工業(yè)、電力、通信等領(lǐng)域,時(shí)間同步的精確性直接影響著系統(tǒng)的穩(wěn)定性和可靠性。GPS對(duì)時(shí)裝置作為一種高精度的時(shí)間同步解決方案,被廣泛應(yīng)用于各類關(guān)鍵基礎(chǔ)設(shè)施中。本文將從實(shí)際應(yīng)用的角度,分享GPS
時(shí)統(tǒng)設(shè)備在各行業(yè)都扮演什么角色??
的 “時(shí)間導(dǎo)航儀”?
航空航天領(lǐng)域對(duì)時(shí)間同步的精度和可靠性要求堪稱極致。在衛(wèi)星發(fā)射過(guò)程中,從火箭點(diǎn)火的那一刻起,直至衛(wèi)星成功入軌,每一個(gè)環(huán)節(jié)都如同精密時(shí)鐘的齒輪,必須精確咬合,才能確保任務(wù)順利完成
發(fā)表于 06-12 16:18
posix函數(shù)異常怎么解決?
測(cè)試發(fā)現(xiàn)所有和絕對(duì)時(shí)間相關(guān)的函數(shù)都是異常的 這該怎么解決目前測(cè)試過(guò)的有
mq_timedreceive
mq_timedsend
sem_timedwait
pthread_cond_timedwait
pselect
全都是異常的 要不然就立即返回 要不然就一直阻塞永不退出
發(fā)表于 06-12 07:48
如何讓FreeRTOS任務(wù)以絕對(duì)時(shí)間運(yùn)行呢
評(píng)論