在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

軟件定時器簡介及程序配置

CHANBAEK ? 來源:南山府嵌入式 ? 作者:南山府嵌入式 ? 2022-12-06 16:10 ? 次閱讀

1- 簡介

1.1 軟件定時器簡述

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

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

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

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

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

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

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

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

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

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

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

poYBAGOO-EaABfqsAADtD4Vgwbw653.png

3-軟件定時器程序配置

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

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

pYYBAGOO-FuAaOzyAAGPk18N7Rg346.png

4- 自動沖加載

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

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

poYBAGOO-GyASKx4AAC0Gt24NK0955.png

5-定時器的重置

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

poYBAGOO-H6ATd1lAADB0gtm3sk332.png

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

    關(guān)注

    0

    文章

    18

    瀏覽量

    6798
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3255

    瀏覽量

    115371
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

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

    關(guān)注

    0

    文章

    87

    瀏覽量

    11622
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    定時器中斷簡介

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

    最簡單的滴答定時器程序簡介

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

    基于Win32的控制軟件定時器程序的編寫

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

    stm32定時器中斷程序

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

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

    1、概述 軟件定時器是一種軟件措施,通過它可以使一項(xiàng)特定的任務(wù)在給定的時間段后被執(zhí)行。軟件定時器廣泛地應(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'>定時器</b>的改進(jìn)的方法

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

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

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

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

    stm32—定時器配置

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

    基于硬件定時器軟件定時器

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

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

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

    單片機(jī)軟件定時器的實(shí)現(xiàn)方法

    定時器個數(shù)一般都比較少,在一些有多個周期性操作的應(yīng)用場合就無法滿足要求。這時,就可以基于硬件定時器派生出軟件定時器,來滿足這種多種周期性或多個單次延時操作的需求。
    的頭像 發(fā)表于 01-17 15:14 ?5012次閱讀
    單片機(jī)<b class='flag-5'>軟件</b><b class='flag-5'>定時器</b>的實(shí)現(xiàn)方法

    freeRTOS軟件定時器的使用

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

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

    軟件定時器是用程序模擬出來的定時器,可以由一個硬件定時器模擬出成千上萬個軟件
    的頭像 發(fā)表于 05-23 17:05 ?2922次閱讀

    定時器中斷程序怎么寫

    定時器中斷程序怎么寫? 在嵌入式系統(tǒng)中,定時器被廣泛應(yīng)用于各種任務(wù)。它們在實(shí)時系統(tǒng)中可用于輪詢,計(jì)時等任務(wù)。定時器可以被配置為周期性
    的頭像 發(fā)表于 09-01 10:17 ?2030次閱讀
    主站蜘蛛池模板: 婷婷综合久久中文字幕蜜桃三 | www.你懂的| 亚洲另类电击调教在线观看 | 一区二区免费在线观看 | 亚洲1234区乱码| 三级黄色在线视频中文 | 国产精品主播在线观看 | 欧美熟色妇 | 日韩一区二区三区在线 | a爱视频 | 女人张腿让男子桶免费动态图 | 亚洲日本高清 | 黄色综合 | 成人国内精品久久久久影院 | 国产午夜精品久久久久免费视小说 | 午夜免费看视频 | 午夜影院毛片 | 亚洲精品欧洲久久婷婷99 | 成年人黄色大片大全 | 国产亚洲精品aaa大片 | 日韩美女拍拍免费视频网站 | 老师您的兔子好软水好多动漫视频 | 狠狠色欧美亚洲狠狠色www | 色欧美色| 午夜老湿影院 | 亚洲国产成人精品不卡青青草原 | 高清一级 | 日本黄页在线观看 | 欧美精品一级 | 四虎最新网站 | 99成人 | 久久狠狠躁免费观看 | 男人j进女人j的一进一出视频 | 婷婷射丁香 | 欧美特黄三级在线观看 | 一区二区三区四区在线不卡高清 | 看真人一级毛片 | 国产一级特黄在线视频 | 国产欧美亚洲精品 | 亚洲香蕉影院 | 国产女主播精品大秀系列在线 |