一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

軟件定時(shí)器簡(jiǎn)介及程序配置

CHANBAEK ? 來(lái)源:南山府嵌入式 ? 作者:南山府嵌入式 ? 2022-12-06 16:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1- 簡(jiǎn)介

1.1 軟件定時(shí)器簡(jiǎn)述

軟件定時(shí)器就是允許函數(shù)設(shè)置一定的等待時(shí)間,然后執(zhí)行。定時(shí)器執(zhí)行的函數(shù)被稱為定時(shí)器的回調(diào)函數(shù)。定時(shí)器從啟動(dòng)到執(zhí)行回調(diào)函數(shù)之間的時(shí)間稱為定時(shí)器的周期。定時(shí)器的回調(diào)函數(shù)在定時(shí)器的時(shí)間到達(dá)時(shí)執(zhí)行。

軟件定時(shí)器要先創(chuàng)建才能使用。

1.2 軟件定時(shí)器有效的實(shí)現(xiàn)

軟件定時(shí)器功能的實(shí)現(xiàn)是非常容易的,但是想要有效的實(shí)現(xiàn)可能會(huì)優(yōu)點(diǎn)困難,FreeRTOS的定時(shí)器,不會(huì)從中斷中執(zhí)行定時(shí)器的回調(diào)函數(shù),除非定時(shí)器到達(dá)了,否則不會(huì)消耗任何的運(yùn)算時(shí)間,不會(huì)像時(shí)鐘中添加任何的運(yùn)算負(fù)擔(dān),如果中斷禁用了,也不會(huì)遍歷任何的鏈表結(jié)構(gòu)。

定時(shí)器服務(wù)任務(wù)主要利用了FreeRTOS的一些特性,允許像應(yīng)用程序添加定時(shí)器功能,而對(duì)于應(yīng)用程序可執(zhí)行的程序影響最小。

1.3 有關(guān)定時(shí)器的回調(diào)函數(shù)

定時(shí)器回調(diào)函數(shù)在定時(shí)器服務(wù)任務(wù)中進(jìn)行執(zhí)行,所以定時(shí)器回調(diào)函數(shù)不要試圖阻塞。比如,定時(shí)器回調(diào)函數(shù)在訪問(wèn)隊(duì)列或信號(hào)量時(shí)不能調(diào)用vTaskDelay()、vTaskDelayUntil()或指定非零阻塞時(shí)間。

2- 定時(shí)器服務(wù)和定時(shí)器命令隊(duì)列

計(jì)時(shí)器功能是可選的,不是FreeRTOS核心內(nèi)核的一部分。相反,它是由定時(shí)器服務(wù)任務(wù)提供的。

FreeRTOS提供了一組與定時(shí)器相關(guān)的API函數(shù)。其中許多函數(shù)使用標(biāo)準(zhǔn)的FreeRTOS隊(duì)列向計(jì)時(shí)器服務(wù)任務(wù)發(fā)送命令。用于此目的的隊(duì)列稱為timer command queue。timer command queue是FreeRTOS定時(shí)器實(shí)現(xiàn)的私有命令,不能直接訪問(wèn)。

下圖演示了這種情況。左邊的代碼表示一個(gè)函數(shù),它是用戶應(yīng)用程序的一部分,并從作為同一用戶應(yīng)用程序的一部分創(chuàng)建的任務(wù)中調(diào)用。右邊的代碼表示定時(shí)器服務(wù)任務(wù)的實(shí)現(xiàn)。定時(shí)器命令隊(duì)列是連接應(yīng)用任務(wù)和定時(shí)器服務(wù)任務(wù)的紐帶。在本例中,從應(yīng)用程序代碼調(diào)用xTimerReset() API函數(shù)。這導(dǎo)致將重置命令發(fā)送到定時(shí)器命令隊(duì)列,由定時(shí)器服務(wù)任務(wù)處理。應(yīng)用程序代碼只調(diào)用xTimerReset() API函數(shù)——它沒(méi)有(也不能)直接訪問(wèn)定時(shí)器命令隊(duì)列。

poYBAGOO-EaABfqsAADtD4Vgwbw653.png

3-軟件定時(shí)器程序配置

要使FreeRTOS 軟件計(jì)時(shí)器 API在應(yīng)用程序中可用,只需:

將 FreeRTOS/Source/timers.c 源文件添加到您的項(xiàng)目中,以及在應(yīng)用程序 FreeRTOSConfig.h 頭文件中定義。下面這個(gè)表是一些常量:

pYYBAGOO-FuAaOzyAAGPk18N7Rg346.png

4- 自動(dòng)沖加載

定時(shí)器有兩種類型:單觸發(fā)定時(shí)器和自動(dòng)重新加載定時(shí)器。一旦啟動(dòng),單觸發(fā)定時(shí)器只會(huì)執(zhí)行它的回調(diào)函數(shù)一次。它可以手動(dòng)重新啟動(dòng),但不能自動(dòng)重新啟動(dòng)。相反,自動(dòng)重新加載定時(shí)器一旦啟動(dòng),在每次執(zhí)行回調(diào)函數(shù)后都會(huì)自動(dòng)重新啟動(dòng),導(dǎo)致周期性的回調(diào)執(zhí)行。

下圖演示了,單觸發(fā)定時(shí)器和自動(dòng)重載之間的區(qū)別,在此圖中,定時(shí)器1為周期等于100的單次定時(shí)器,計(jì)時(shí)器2是自動(dòng)重加載周期等于200次的定時(shí)器。

poYBAGOO-GyASKx4AAC0Gt24NK0955.png

5-定時(shí)器的重置

重新設(shè)置已經(jīng)開(kāi)始運(yùn)行的定時(shí)器。重置定時(shí)器會(huì)導(dǎo)致定時(shí)器重新計(jì)算其達(dá)到的時(shí)間,這種行為在下面的圖中得到了展示,其中定時(shí)器1是一個(gè)周期為5秒的單觸發(fā)定時(shí)器。

poYBAGOO-H6ATd1lAADB0gtm3sk332.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 軟件定時(shí)器
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    6941
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    118916
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    493

    瀏覽量

    64338
  • 回調(diào)函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    88

    瀏覽量

    11895
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于STM32的軟件定時(shí)器設(shè)計(jì)

    軟件定時(shí)器是用程序模擬出來(lái)的定時(shí)器,可以由一個(gè)硬件定時(shí)器模擬出成千上萬(wàn)個(gè)軟件
    發(fā)表于 07-03 17:06 ?1481次閱讀
    基于STM32的<b class='flag-5'>軟件</b><b class='flag-5'>定時(shí)器</b>設(shè)計(jì)

    定時(shí)器中斷簡(jiǎn)介

    定時(shí)器中斷1. 定時(shí)器中斷簡(jiǎn)介2. 硬件設(shè)計(jì)3. 軟件設(shè)計(jì)3.1 STM32CubeMX設(shè)置3.2 MDK-ARM編程4. 下載驗(yàn)證
    發(fā)表于 08-12 06:29

    最簡(jiǎn)單的滴答定時(shí)器程序簡(jiǎn)介

    最簡(jiǎn)單的滴答定時(shí)器程序簡(jiǎn)介SysTick實(shí)驗(yàn)配置步驟和方法1.設(shè)置滴答的次數(shù)2.設(shè)置時(shí)長(zhǎng)3.停止計(jì)數(shù)實(shí)驗(yàn)代碼簡(jiǎn)介SysTick—系統(tǒng)
    發(fā)表于 01-20 08:16

    基于Win32的控制軟件定時(shí)器程序的編寫(xiě)

    基于Win32的控制軟件定時(shí)器程序的編寫(xiě)
    發(fā)表于 02-07 18:01 ?9次下載

    stm32定時(shí)器中斷程序

    STM32的定時(shí)器是個(gè)強(qiáng)大的模塊,定時(shí)器使用的頻率也是很高的,定時(shí)器可以做一些基本的定時(shí),還可以做PWM輸出或者輸入捕獲功能。 以下是進(jìn)行stm32
    發(fā)表于 10-12 16:59 ?1.4w次閱讀

    μC/OS-II的軟件定時(shí)器的改進(jìn)的方法

    1、概述 軟件定時(shí)器是一種軟件措施,通過(guò)它可以使一項(xiàng)特定的任務(wù)在給定的時(shí)間段后被執(zhí)行。軟件定時(shí)器廣泛地應(yīng)用于內(nèi)核設(shè)計(jì)和應(yīng)用
    發(fā)表于 10-31 16:57 ?0次下載
    μC/OS-II的<b class='flag-5'>軟件</b><b class='flag-5'>定時(shí)器</b>的改進(jìn)的方法

    555定時(shí)器應(yīng)用設(shè)計(jì)軟件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是555定時(shí)器應(yīng)用設(shè)計(jì)軟件免費(fèi)下載,本軟件是一款555定時(shí)器設(shè)計(jì)軟件,使用非常方便。
    發(fā)表于 12-17 08:00 ?51次下載
    555<b class='flag-5'>定時(shí)器</b>應(yīng)用設(shè)計(jì)<b class='flag-5'>軟件</b>免費(fèi)下載

    設(shè)計(jì)軟件定時(shí)器

    軟件定時(shí)器搬來(lái)使用2、自己設(shè)計(jì)軟件定時(shí)器這里我只介紹第二種方法,我們知道,硬件定時(shí)器是通過(guò)對(duì)系統(tǒng)時(shí)鐘周期進(jìn)行計(jì)數(shù)實(shí)現(xiàn)的,那么
    發(fā)表于 11-05 18:35 ?2次下載
    設(shè)計(jì)<b class='flag-5'>軟件</b><b class='flag-5'>定時(shí)器</b>

    stm32—定時(shí)器配置

    目錄定時(shí)器組成通用寄存通用寄存簡(jiǎn)介:通用定時(shí)器 TIMx (TIM2-TIM5 )的功能:通用定時(shí)器
    發(fā)表于 11-22 17:51 ?11次下載
    stm32—<b class='flag-5'>定時(shí)器</b><b class='flag-5'>配置</b>

    基于硬件定時(shí)器軟件定時(shí)器

    概括硬件定時(shí)器很精確,軟件定時(shí)器無(wú)論如何都有延遲,主要用在不需要精確定時(shí)的地方,而且軟件定時(shí)比較
    發(fā)表于 11-25 09:51 ?8次下載
    基于硬件<b class='flag-5'>定時(shí)器</b>的<b class='flag-5'>軟件</b><b class='flag-5'>定時(shí)器</b>

    ESP32 之 ESP-IDF 教學(xué)(三)——通用硬件定時(shí)器(Timer)

    、配置定時(shí)器【1】定時(shí)器初始化函數(shù)`timer_init()`簡(jiǎn)介配置結(jié)構(gòu)體`timer_config_t`
    發(fā)表于 11-26 11:36 ?38次下載
    ESP32 之 ESP-IDF 教學(xué)(三)——通用硬件<b class='flag-5'>定時(shí)器</b>(Timer)

    freeRTOS軟件定時(shí)器的使用

    freeRTOS中加入了軟件定時(shí)器這個(gè)功能組件,是一個(gè)可選的、不屬于freeRTOS內(nèi)核的功能,由定時(shí)器服務(wù)(其實(shí)就是一個(gè)定時(shí)器任務(wù))來(lái)提供。
    的頭像 發(fā)表于 02-10 13:55 ?3011次閱讀

    Free RTOS的軟件定時(shí)器

    軟件定時(shí)器是FreeRTOS中的一個(gè)重要模塊,使用軟件定時(shí)器可以方便的實(shí)現(xiàn)一些與超時(shí)或周期性相關(guān)的功能。
    的頭像 發(fā)表于 02-10 15:53 ?2938次閱讀
    Free RTOS的<b class='flag-5'>軟件</b><b class='flag-5'>定時(shí)器</b>

    什么是軟件定時(shí)器?軟件定時(shí)器的實(shí)現(xiàn)原理

    軟件定時(shí)器是用程序模擬出來(lái)的定時(shí)器,可以由一個(gè)硬件定時(shí)器模擬出成千上萬(wàn)個(gè)軟件
    的頭像 發(fā)表于 05-23 17:05 ?3498次閱讀

    定時(shí)器中斷程序怎么寫(xiě)

    定時(shí)器中斷程序怎么寫(xiě)? 在嵌入式系統(tǒng)中,定時(shí)器被廣泛應(yīng)用于各種任務(wù)。它們?cè)趯?shí)時(shí)系統(tǒng)中可用于輪詢,計(jì)時(shí)等任務(wù)。定時(shí)器可以被配置為周期性
    的頭像 發(fā)表于 09-01 10:17 ?2471次閱讀