色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

嵌入式軟件中兩種超時(shí)程序設(shè)計(jì)方案

麥辣雞腿堡 ? 來源:CSDN博客 ? 作者:share明 ? 2023-10-27 15:15 ? 次閱讀

1、背景

嵌入式軟件程序設(shè)計(jì)過程中中,經(jīng)常會(huì)遇到超時(shí)(或定時(shí))的處理情況,基本處理思想是在時(shí)間到的時(shí)候進(jìn)行相關(guān)程序處理,下面介紹兩種超時(shí)(或定時(shí))的程序設(shè)計(jì)方案。

2、方案一

基本思想:定時(shí)器中斷使用一個(gè)變量TICK,中斷間隔時(shí)間t,在準(zhǔn)備定時(shí)開始時(shí)讀取此時(shí)刻的TICK,在程序運(yùn)行過程中實(shí)時(shí)讀取當(dāng)前的TICK信息并計(jì)算即可。

因此在時(shí)間計(jì)算時(shí)只需計(jì)算開始STARTTICK和結(jié)束ENDTICK即可完成時(shí)間計(jì)算。時(shí)間計(jì)算T=(ENDTICK-STARTTICK)*t;使用一個(gè)定時(shí)器中斷每t時(shí)間處理一次中斷,中斷里面時(shí)間計(jì)數(shù)值s_u32TCNT++,如下圖所示:

圖片

程序中定義一個(gè)結(jié)構(gòu)體來保存超時(shí)開始和超時(shí)結(jié)束時(shí)間,結(jié)構(gòu)體定義如下圖所示:

圖片

在需要做定時(shí)超時(shí)處理的地方實(shí)時(shí)的獲取當(dāng)前s_u32TCNT并賦值給u32EndTimeTick,計(jì)算開始u32StartTimeTick和結(jié)束時(shí)u32EndTimeTick的時(shí)間差來判斷時(shí)間是否到來即可,程序設(shè)計(jì)示意代碼如下圖所示:

圖片

3、方案二

基本思想:定義回調(diào)函數(shù)和回調(diào)注冊函數(shù),將定時(shí)/超時(shí)服務(wù)函數(shù)注冊回調(diào),每一次定時(shí)器中斷執(zhí)行一次回調(diào),回調(diào)函數(shù)只需對計(jì)時(shí)時(shí)間TCNT做減1操作即可,當(dāng)TCNT為0時(shí)即定時(shí)/超時(shí)時(shí)間到,并置超時(shí)標(biāo)志,應(yīng)用程序只需判斷標(biāo)志即可明確定時(shí)/超時(shí)時(shí)間是否到來;回調(diào)函數(shù)和回調(diào)注冊函數(shù)定義如下圖所示,多個(gè)超時(shí)/定時(shí)回調(diào)函數(shù)可注冊在回調(diào)函數(shù)數(shù)組中:

圖片

圖片

定時(shí)中斷函數(shù)中進(jìn)行遍歷處理,定時(shí)中斷函數(shù)處理示意代碼如下圖所示:

圖片

4、對比總結(jié)

方案一優(yōu)點(diǎn)在于中斷執(zhí)行單元執(zhí)行內(nèi)容少,代碼操作容易理解,缺點(diǎn)是應(yīng)用中實(shí)時(shí)的進(jìn)行計(jì)算開始和結(jié)束TICK差值,代碼執(zhí)行效率不高。

方案二優(yōu)點(diǎn)在于將超時(shí)函數(shù)注冊在回調(diào)中即可,程序擴(kuò)展性較好,不用做過多的數(shù)值計(jì)算,代碼執(zhí)行效率相對較高,缺點(diǎn)是定時(shí)中斷中需要遍歷所有已注冊的對調(diào),中斷執(zhí)行內(nèi)容相對較多。

STM32程序超時(shí)設(shè)計(jì)

在程序設(shè)計(jì)中,出現(xiàn)以下類似語句,是非常不可靠的,很有必要加入超時(shí)處理!

while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));

以下在stm32的system_stm32f10x.c文件中,判斷外部晶振起振的程序。

可以參考,在以后的程序中借鑒。

#define HSE_STARTUP_TIMEOUT   ((uint16_t)0x0500) /*!< Time out for HSE start up */
/* Wait till HSE is ready and if Time out is reached exit */
do
{
    HSEStatus = RCC- >CR & RCC_CR_HSERDY;
    StartUpCounter++;  
} while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));

I2C 讀寫EEPROM添加超時(shí):

uint16_t i = 0x0fff;
while ((!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))&&i){i--;};
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304809
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4921

    瀏覽量

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

    關(guān)注

    23

    文章

    3246

    瀏覽量

    114719
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3785

    瀏覽量

    81004
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式軟件程序設(shè)計(jì)方案

    嵌入式軟件程序設(shè)計(jì)過程,經(jīng)常會(huì)遇到超時(shí)(或定時(shí))的處理情況,基本處理思想是在時(shí)間到的時(shí)候進(jìn)
    發(fā)表于 09-06 09:27 ?1274次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b><b class='flag-5'>程序設(shè)計(jì)方案</b>

    介紹兩種嵌入式軟件超時(shí)(或定時(shí))的程序設(shè)計(jì)方案

    一、背景在嵌入式軟件程序設(shè)計(jì)過程,經(jīng)常會(huì)遇到超時(shí)(或定時(shí))的處理情況,基本處理思想是在時(shí)間到
    發(fā)表于 11-08 06:18

    嵌入式軟件程序設(shè)計(jì)

    嵌入式系統(tǒng)設(shè)計(jì)師學(xué)習(xí)筆記二十七:嵌入式軟件程序設(shè)計(jì)②——嵌入式程序設(shè)計(jì)程序設(shè)計(jì)語言機(jī)器語言:由二
    發(fā)表于 12-21 08:28

    實(shí)現(xiàn)嵌入式軟件超時(shí)的方法

    鏈接:https://blog.csdn.net/qq_38767222/、https://blog.csdn.net/wyq200704/軟件超時(shí)機(jī)制1、背景在嵌入式軟件
    發(fā)表于 12-24 06:01

    嵌入式系統(tǒng)的C程序設(shè)計(jì)

    嵌入式系統(tǒng)的C程序設(shè)計(jì)
    發(fā)表于 04-07 22:42 ?86次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)的C<b class='flag-5'>程序設(shè)計(jì)</b>

    嵌入式系統(tǒng)的C程序設(shè)計(jì)

    嵌入式系統(tǒng)的C程序設(shè)計(jì)
    發(fā)表于 11-10 08:59 ?54次下載

    嵌入式系統(tǒng)的超時(shí)控制及其應(yīng)用

    預(yù)期事件的循環(huán)等待是嵌入式系統(tǒng)應(yīng)用程序的基本結(jié)構(gòu)之一,在等待程序引入超時(shí)控制是提高應(yīng)用程序容錯(cuò)
    發(fā)表于 05-14 13:50 ?16次下載

    嵌入式系統(tǒng)的c程序設(shè)計(jì)

    嵌入式系統(tǒng)的c程序設(shè)計(jì)
    發(fā)表于 02-11 09:21 ?65次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)的c<b class='flag-5'>程序設(shè)計(jì)</b>

    嵌入式軟件技術(shù)應(yīng)用設(shè)計(jì)方案匯總  

    程序及其文檔組成,可細(xì)分成系統(tǒng)軟件、支撐軟件、應(yīng)用軟件三類,是嵌入式系統(tǒng)的重要組成部分。本文為大家介紹
    發(fā)表于 10-16 16:44 ?4次下載

    嵌入式系統(tǒng)與C程序設(shè)計(jì)

    嵌入式系統(tǒng)與C程序設(shè)計(jì)
    發(fā)表于 10-30 10:20 ?13次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)與C<b class='flag-5'>程序設(shè)計(jì)</b>

    兩種遠(yuǎn)程調(diào)試嵌入式系統(tǒng)的介紹

    調(diào)試嵌入式系統(tǒng)與桌面操作系統(tǒng)差別很大,本文向您介紹調(diào)試嵌入式系統(tǒng)的兩種推薦方案,插樁和片上調(diào)試,希望對您的嵌入式項(xiàng)目中有所幫助。我們介紹
    發(fā)表于 04-14 07:43 ?2581次閱讀
    <b class='flag-5'>兩種</b>遠(yuǎn)程調(diào)試<b class='flag-5'>嵌入式</b>系統(tǒng)的介紹

    嵌入式軟件定時(shí)/超時(shí)機(jī)制程序設(shè)計(jì)

    一、背景在嵌入式軟件程序設(shè)計(jì)過程,經(jīng)常會(huì)遇到超時(shí)(或定時(shí))的處理情況,基本處理思想是在時(shí)間到
    發(fā)表于 11-03 18:36 ?10次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>定時(shí)/<b class='flag-5'>超時(shí)機(jī)制程序設(shè)計(jì)</b>

    介紹兩種嵌入式軟件超時(shí)(或定時(shí))的程序設(shè)計(jì)方案

    嵌入式軟件程序設(shè)計(jì)過程,經(jīng)常會(huì)遇到超時(shí)(或定時(shí))的處理情況,基本處理思想是在時(shí)間到的時(shí)候進(jìn)
    的頭像 發(fā)表于 05-20 10:28 ?997次閱讀
    介紹<b class='flag-5'>兩種</b><b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b><b class='flag-5'>超時(shí)</b>(或定時(shí))的<b class='flag-5'>程序設(shè)計(jì)方案</b>

    如何設(shè)計(jì)STM32嵌入式程序超時(shí)機(jī)制?

    嵌入式軟件程序設(shè)計(jì)過程,經(jīng)常會(huì)遇到超時(shí)(或定時(shí))的處理情況,基本處理思想是在時(shí)間到的時(shí)候進(jìn)
    的頭像 發(fā)表于 06-15 17:04 ?1429次閱讀
    如何設(shè)計(jì)STM32<b class='flag-5'>嵌入式</b><b class='flag-5'>程序</b>的<b class='flag-5'>超時(shí)</b>機(jī)制?

    STM32程序超時(shí)設(shè)計(jì)

    軟件超時(shí)機(jī)制 1、背景 在嵌入式軟件程序設(shè)計(jì)過程
    的頭像 發(fā)表于 06-22 10:52 ?1163次閱讀
    STM32<b class='flag-5'>程序</b><b class='flag-5'>超時(shí)</b>設(shè)計(jì)
    主站蜘蛛池模板: xxx在线播放| 亚洲精品国产自在现线最新| 一个人免费视频在线观看| 成人小视频免费在线观看| 久久久精品3d动漫一区二区三区| 日韩熟女精品一区二区三区| 最近中文字幕免费高清MV视频6| 国产人妻人伦精品9| 欧美一区二区三区久久综| 在线观看国产视频| 国产线精品视频在线观看| 日韩精品真人荷官无码| 70岁妇女牲交色牲片| 精品国产免费观看久久久| 天堂在线亚洲精品专区| SM高H黄暴NP辣H调教性奴| 老太婆风流特黄一级| 亚洲欧美精品一中文字幕| 国产精品高清免费网站| 日本乱子伦一区二区三区| 97人妻精品全国免费视频| 久久re视频这里精品免费1| 亚洲AV色香蕉一区二区9255| 高h超辣bl文| 任你懆视频 这里只有精品| 97免费在线视频| 老板吻我下身好爽到高潮| 夜色伊甸园| 韩剧甜性涩爱| 鸭子玩富婆流白浆视频| 国产精品大陆在线视频| 色多多旧版污污破解版| 成人国产亚洲欧美成人综合网| 男人和女人一起愁愁愁很痛| 最新亚洲中文字幕在线观看| 久久国产一区二区三区| 亚洲中文字幕无码一去台湾| 狠狠色狠狠色综合| 亚洲国产精麻豆| 果冻传媒APP免费网站在线观看| 无罩看奶禁18|