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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32程序超時設計

科技綠洲 ? 來源:工程師進階筆記 ? 作者:工程師進階筆記 ? 2023-06-22 10:52 ? 次閱讀

軟件超時機制

1、背景

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

2、方案一

基本思想:定時器中斷使用一個變量TICK,中斷間隔時間t,在準備定時開始時讀取此時刻的TICK,在程序運行過程中實時讀取當前的TICK信息并計算即可。

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

圖片

程序中定義一個結構體來保存超時開始和超時結束時間,結構體定義如下圖所示:

圖片

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

圖片

3、方案二

基本思想:定義回調函數和回調注冊函數,將定時/超時服務函數注冊回調,每一次定時器中斷執行一次回調,回調函數只需對計時時間TCNT做減1操作即可。

當TCNT為0時即定時/超時時間到,并置超時標志,應用程序只需判斷標志即可明確定時/超時時間是否到來;回調函數和回調注冊函數定義如下圖所示,多個超時/定時回調函數可注冊在回調函數數組中:

圖片

圖片

定時中斷函數中進行遍歷處理,定時中斷函數處理示意代碼如下圖所示:

圖片

4、對比總結

方案一優點在于中斷執行單元執行內容少,代碼操作容易理解,缺點是應用中實時的進行計算開始和結束TICK差值,代碼執行效率不高。

方案二優點在于將超時函數注冊在回調中即可,程序擴展性較好,不用做過多的數值計算,代碼執行效率相對較高,缺點是定時中斷中需要遍歷所有已注冊的對調,中斷執行內容相對較多。

STM32程序超時設計

在程序設計中,出現以下類似語句,是非常不可靠的,很有必要加入超時處理!

while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));

以下在stm32的system_stm32f10x.c文件中,判斷外部晶振起振的程序??梢詤⒖迹谝院蟮某绦蛑薪梃b。

#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添加超時:

uint16_t i = 0x0fff;
while ((!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))&&i){i--;};
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2270

    文章

    10923

    瀏覽量

    357072
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115174
  • 程序
    +關注

    關注

    117

    文章

    3795

    瀏覽量

    81293
收藏 人收藏

    評論

    相關推薦

    嵌入式系統的超時控制及其應用

    預期事件的循環等待是嵌入式系統應用程序的基本結構之一,在等待程序中引入超時控制是提高應用程序容錯性能的重要途徑。給出超時控制的一般
    發表于 05-14 13:50 ?16次下載

    STM32_AD程序

    STM32 AD程序程序,很好的學習資料,快來下載吧
    發表于 02-15 15:26 ?38次下載

    STM32_DMA程序程序

    STM32 DMA程序程序,很好的學習資料,快來下載吧
    發表于 02-15 15:27 ?28次下載

    stm32程序

    stm32程序
    發表于 12-17 09:33 ?111次下載

    TCP的超時與重傳的全面解說

    TCP的超時與重傳的全面解說
    發表于 08-30 11:46 ?7次下載
    TCP的<b class='flag-5'>超時</b>與重傳的全面解說

    關于flymcu燒錄stm32芯片超時的問題解決

    有時候使用FlyMcu時,會出現芯片超時無應答,無法連接的情況,如下圖所示解決辦法1、flymcu是否設置有問題選擇 DTR 的低電平復位,RTS 高電平進 BootLoader。這個是必要的選項
    發表于 10-26 15:05 ?84次下載
    關于flymcu燒錄<b class='flag-5'>stm32</b>芯片<b class='flag-5'>超時</b>的問題解決

    嵌入式軟件定時/超時機制程序設計

    一、背景在嵌入式軟件程序設計過程中中,經常會遇到超時(或定時)的處理情況,基本處理思想是在時間到的時候進行相關程序處理,下面介紹兩種超時(或定時)的
    發表于 11-03 18:36 ?10次下載
    嵌入式軟件定時/<b class='flag-5'>超時機制程序</b>設計

    AN3109_用STM32F10x微控制器的DMA和DMA超時仿真通信外設FIFO

    AN3109_用STM32F10x微控制器的DMA和DMA超時仿真通信外設FIFO
    發表于 11-21 08:11 ?0次下載
    AN3109_用<b class='flag-5'>STM32</b>F10x微控制器的DMA和DMA<b class='flag-5'>超時</b>仿真通信外設FIFO

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

    在嵌入式軟件程序設計過程中中,經常會遇到超時(或定時)的處理情況,基本處理思想是在時間到的時候進行相關程序處理,下面介紹兩種超時(或定時)的程序
    的頭像 發表于 05-20 10:28 ?1056次閱讀
    介紹兩種嵌入式軟件<b class='flag-5'>超時</b>(或定時)的<b class='flag-5'>程序</b>設計方案

    如何設計STM32嵌入式程序超時機制?

    在嵌入式軟件程序設計過程中中,經常會遇到超時(或定時)的處理情況,基本處理思想是在時間到的時候進行相關程序處理,下面介紹兩種超時(或定時)的程序
    的頭像 發表于 06-15 17:04 ?1510次閱讀
    如何設計<b class='flag-5'>STM32</b>嵌入式<b class='flag-5'>程序</b>的<b class='flag-5'>超時</b>機制?

    寫芯片超時該如何解決?。?/a>

    寫芯片超時該如何解決??? 芯片在現代電子設備中扮演著至關重要的角色。它們是設備內部運行的核心,控制著所有的操作。然而,由于各種原因,芯片可能會發生超時問題。超時問題一旦發生,可能會導致芯片停止正常
    的頭像 發表于 09-13 10:43 ?3525次閱讀

    單片機下載程序時老是顯示比特率超時是什么原因?怎么辦?

    單片機下載程序時老是顯示比特率超時是什么原因?怎么辦? 單片機下載程序時老是顯示比特率超時,這是因為在下載程序的過程中,單片機與下載工具(如
    的頭像 發表于 09-13 10:43 ?1882次閱讀

    嵌入式軟件中兩種超時程序設計方案

    1、背景 在嵌入式軟件程序設計過程中中,經常會遇到超時(或定時)的處理情況,基本處理思想是在時間到的時候進行相關程序處理,下面介紹兩種超時(或定時)的
    的頭像 發表于 10-27 15:15 ?736次閱讀
    嵌入式軟件中兩種<b class='flag-5'>超時</b><b class='flag-5'>程序</b>設計方案

    socket連接超時如何處理

    在網絡編程中,socket連接超時是一個常見的問題,它可能由多種原因引起,比如網絡延遲、服務器負載過高或者客戶端請求超時設置過短等。處理socket連接超時需要綜合考慮客戶端和服務器端的配置、代碼
    的頭像 發表于 11-01 16:48 ?939次閱讀

    socket 連接超時處理技巧

    在網絡編程中,Socket連接超時是一個常見的問題。處理超時的關鍵在于確保程序能夠優雅地處理這些情況,避免程序崩潰或者無響應。以下是一些處理Socket連接
    的頭像 發表于 11-12 14:13 ?565次閱讀
    主站蜘蛛池模板: 人妖和美女玩 | 野花韩国视频中文播放 | 8X拨牐拨牐X8免费视频8 | 成人18视频在线观看 | 2021精品乱码多人收藏 | 99久久综合精品免费 | 先锋影音 av | 久久久99精品成人片中文 | 国产高清精品国语特黄A片 国产高清国内精品福利色噜噜 | 学生妹被爆插到高潮无遮挡 | 亚洲欧洲自拍偷拍 | 一二三四韩国免费观看 | 久久精品动漫99精品动漫 | 爱啪国产精品视频在线 | 色欲国产麻豆精品AV免费 | 国产AV99激情久久无码天堂 | 中文国产乱码在线人妻一区二区 | 一本道亚洲区免费观看 | 久久亚洲A片COM人成A | 青柠在线观看视频在线高清 | 久久热最新网站获取3 | 亚洲色爽视频在线观看 | 99热在线视频 | 里番※琉璃全彩acg奈亚子 | 忘忧草在线影院WWW日本动漫 | 一个人在线观看免费高清视频在线观看 | av在线不卡中文网 | 日本xxxx8888| 一级毛片免费播放 | 国产精品女上位好爽在线短片 | 曰本熟妇乱妇色A片在线 | 把腿张开再深点好爽宝贝动态图 | 亚洲精品电影天堂网 | 亚洲人成在线播放网站岛国 | 校花在公车上被内射好舒服 | 扒开美女的内衣亲吻漫画 | 一本道高清无码v | 99久久精品免费看国产免费 | 性生片30分钟 | 国产亚洲999精品AA片在线爽 | 成人小视频在线免费观看 |