那曲檬骨新材料有限公司

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

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

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

在STM32中實(shí)現(xiàn)延時(shí)兩小時(shí)功能的方法

無際單片機(jī)編程 ? 來源:無際單片機(jī)編程 ? 2023-03-31 16:55 ? 次閱讀

延時(shí)功能,雖然簡(jiǎn)單,不過不同的延時(shí)需求多了,就很頭疼。

STM32中實(shí)現(xiàn)延時(shí)2小時(shí)的功能,有以下幾種方式:

1.使用延時(shí)函數(shù)

可以使用STM32提供的延時(shí)函數(shù)來實(shí)現(xiàn)延時(shí)功能,延時(shí)函數(shù)根據(jù)CPU時(shí)鐘頻率和延時(shí)時(shí)間計(jì)算出延時(shí)的時(shí)間,在延時(shí)期間CPU處于忙等待狀態(tài)。

需要注意的是,延時(shí)函數(shù)會(huì)占用過多的CPU資源,并且在延時(shí)期間無法執(zhí)行其他任務(wù)。

這種方式是初學(xué)者玩的,如果用到實(shí)際項(xiàng)目,除了大聰明,我找不到更好的詞夸你

2.使用定時(shí)器和中斷

可以使用STM32內(nèi)置的定時(shí)器和中斷來實(shí)現(xiàn)延時(shí)功能。

將定時(shí)器配置為2小時(shí)的定時(shí)周期,并啟用定時(shí)器中斷。

在中斷處理函數(shù)中設(shè)置標(biāo)志位表示延時(shí)結(jié)束,并執(zhí)行相應(yīng)的操作。

需要注意的是,定時(shí)器中斷的頻率不能太高,否則會(huì)占用過多的系統(tǒng)資源,但中斷頻率也不能太慢,畢竟定時(shí)器是稀缺資源,一個(gè)定時(shí)器可能有很多不同的定時(shí)需求。

這個(gè)可能是最多人的選擇,畢竟省心、省成本。

3.使用RTC實(shí)時(shí)時(shí)鐘

可以使用STM32內(nèi)置的RTC實(shí)時(shí)時(shí)鐘模塊來實(shí)現(xiàn)延時(shí)功能。

將RTC設(shè)置為2小時(shí)的計(jì)時(shí)周期,并啟用RTC中斷。

在中斷處理函數(shù)中設(shè)置標(biāo)志位表示延時(shí)結(jié)束,并執(zhí)行相應(yīng)的操作。

需要注意的是,RTC的精度相對(duì)于定時(shí)器較高,但配置和使用上相對(duì)復(fù)雜。

我一般不會(huì)用這種,因?yàn)榕渲帽容^麻煩,我比較懶。

4.使用外部實(shí)時(shí)時(shí)鐘模塊

可以使用外部的實(shí)時(shí)時(shí)鐘模塊,如DS1302等,來實(shí)現(xiàn)延時(shí)功能。

將實(shí)時(shí)時(shí)鐘模塊連接到STM32的GPIO口,通過SPI或I2C等總線協(xié)議與STM32進(jìn)行通信,獲取當(dāng)前時(shí)間并計(jì)算出延時(shí)結(jié)束的時(shí)間。

需要注意的是,外部實(shí)時(shí)時(shí)鐘模塊的精度和配置相對(duì)于RTC更加復(fù)雜。

這種方式有點(diǎn)脫褲子放屁的感覺,還會(huì)增加硬件成本,不過有些場(chǎng)合確實(shí)需要這樣做,比如你看老板不爽,老板又不懂技術(shù)的時(shí)候。

5.無際原創(chuàng)的程序架構(gòu)

做了單片機(jī)開發(fā)10幾年,終于輪到我裝逼了,如果是我,我肯定用自己寫的輪詢架構(gòu)去實(shí)現(xiàn)。

94a6fe8c-caf2-11ed-bfe3-dac502259ad0.jpg

比如說上面hal_LedProc這個(gè)任務(wù),不管我要定時(shí)多長(zhǎng)時(shí)間去執(zhí)行,我只需要修改一個(gè)數(shù)值就可以。

比如2小時(shí)換算成ms就是7200000ms,任務(wù)Tick的時(shí)間是10ms,如果想讓hal_LedProc任務(wù)2小時(shí)執(zhí)行一次,那就設(shè)置成72000方可實(shí)現(xiàn)。

定時(shí)時(shí)間到了以后,需要執(zhí)行什么程序,直接放在hal_LedProc函數(shù)里即可,這就很舒服…





審核編輯:劉清

聲明:本文內(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)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10904

    瀏覽量

    213023
  • STM32
    +關(guān)注

    關(guān)注

    2272

    文章

    10924

    瀏覽量

    357583
  • 延時(shí)函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    10048
  • 定時(shí)器中斷
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    11264

原文標(biāo)題:stm32如何延時(shí)兩小時(shí),用哪種方式好?

文章出處:【微信號(hào):nanshuqg,微信公眾號(hào):無際單片機(jī)編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32單片機(jī)的延時(shí)原理和延時(shí)函數(shù)方法

    當(dāng)涉及到單片機(jī)編程時(shí),延時(shí)是一項(xiàng)常見但關(guān)鍵的任務(wù)。許多應(yīng)用,我們需要控制程序暫停一段時(shí)間,以實(shí)現(xiàn)精確的時(shí)間控制或協(xié)調(diào)不同設(shè)備之間的操作。本文將以
    發(fā)表于 08-09 09:13 ?1.8w次閱讀

    stm32如何延時(shí)兩小時(shí),用哪種方式好?

    第一種,RTCstm32外接一個(gè)RTC時(shí)鐘芯片,使用方法就是記錄當(dāng)前時(shí)間,比如,當(dāng)前時(shí)間是12點(diǎn)24分36秒。然后,主函數(shù)里面循環(huán)查詢時(shí)間,當(dāng)時(shí)間到達(dá)14點(diǎn)24分36秒時(shí),發(fā)送信息。· 誤差
    發(fā)表于 11-13 09:40

    MCU編程STM32延時(shí)函數(shù)如何去實(shí)現(xiàn)

    STM32筆記】[sub]STM32 延時(shí)函數(shù)的實(shí)現(xiàn)在MCU編程,微秒延時(shí)和毫秒
    發(fā)表于 08-24 07:55

    知識(shí)賦能第二期(入門)兩小時(shí)玩轉(zhuǎn)git和gitee

    只是賦能第二期(入門)兩小時(shí)玩轉(zhuǎn)git和gitee
    發(fā)表于 12-03 11:09

    兩小時(shí)DIY速成 罐頭盒制作斯特林發(fā)動(dòng)機(jī)

    兩小時(shí)DIY速成 罐頭盒制作斯特林發(fā)動(dòng)機(jī),現(xiàn)在,我將使用廢棄不用的破銅爛鐵制備一個(gè)小功率引擎
    發(fā)表于 07-23 14:44 ?4.6w次閱讀
    <b class='flag-5'>兩小時(shí)</b>DIY速成 罐頭盒制作斯特林發(fā)動(dòng)機(jī)

    S7A驅(qū)動(dòng)的兩小時(shí)破解工具_(dá)源程序

    三菱PLC(可編程邏輯控制器)編程實(shí)例項(xiàng)目例程——S7A驅(qū)動(dòng)的兩小時(shí)破解工具,可以方便的破解西門子以太網(wǎng)驅(qū)動(dòng)
    發(fā)表于 11-08 17:32 ?109次下載

    蘋果你這是玩我們呢?AirPods 開售兩小時(shí)售罄

    蘋果低調(diào)上架 AirPods 了,兩小時(shí)內(nèi)被搶購(gòu)一空,蘋果于 9 月份發(fā)布了重新定義的無線耳機(jī) AirPods 目前已經(jīng)開放購(gòu)買,其售價(jià)為 1288 元人民幣。蘋果官方網(wǎng)站上顯示,AirPods 最晚將于 12 月 22 日送達(dá)用戶手中。
    發(fā)表于 12-14 15:43 ?867次閱讀

    比利時(shí)研究機(jī)構(gòu)研發(fā)400Wh/L固態(tài)電池,兩小時(shí)內(nèi)充滿電!

    比利時(shí)研究開發(fā)出一種能量密度為400Wh/L的固態(tài)電池,可在兩小時(shí)內(nèi)充滿電。
    的頭像 發(fā)表于 06-26 16:50 ?3513次閱讀

    片機(jī)實(shí)現(xiàn)延時(shí)兩種方法

    來源:大魚機(jī)器人 第一篇 實(shí)現(xiàn)延時(shí)通常有兩種方法:一種是硬件延時(shí),要用到定時(shí)器/計(jì)數(shù)器,這種方法可以提高CPU的工作效率,也能做到精確
    的頭像 發(fā)表于 09-11 14:29 ?3117次閱讀

    單片機(jī)實(shí)現(xiàn)延時(shí)兩種方法

    單片機(jī)系統(tǒng)一般常選用11.059 2 MHz、12 MHz或6 MHz晶振。第一種更容易產(chǎn)生各種標(biāo)準(zhǔn)的波特率,后種的一個(gè)機(jī)器周期分別為1 μs和2 μs,便于精確延時(shí)。本程序假設(shè)使用頻率為12 MHz的晶振。最長(zhǎng)的
    發(fā)表于 11-04 15:36 ?12次下載
    單片機(jī)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>延時(shí)</b><b class='flag-5'>兩種方法</b>

    STM32精確延時(shí)函數(shù)的實(shí)現(xiàn)

    與傳感器或者模塊的總線進(jìn)行通信的時(shí)候,常常需要使用到精確延時(shí),一般我們會(huì)封裝幾個(gè)常用延時(shí)函數(shù),下面我們以STM32F103芯片為例,詳細(xì)介紹一下S
    發(fā)表于 11-24 18:51 ?12次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>中</b>精確<b class='flag-5'>延時(shí)</b>函數(shù)的<b class='flag-5'>實(shí)現(xiàn)</b>

    STM32實(shí)現(xiàn)毫秒級(jí)精確延時(shí)方法

    使用MCU內(nèi)核寄存器實(shí)現(xiàn)毫秒級(jí)精確延時(shí)方法進(jìn)行STM32進(jìn)行開發(fā)時(shí),使用到延時(shí)函數(shù)的頻率非常
    發(fā)表于 12-09 13:06 ?21次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>實(shí)現(xiàn)</b>毫秒級(jí)精確<b class='flag-5'>延時(shí)</b>的<b class='flag-5'>方法</b>

    stm32之HAL庫(kù)實(shí)現(xiàn)us延時(shí)方法

    stm32之HAL庫(kù)實(shí)現(xiàn)us延時(shí)方法HAL_Delay()源碼為ms級(jí)別的延時(shí)如下:/** * @brief This function provides accurate dela
    發(fā)表于 01-17 09:32 ?5次下載
    <b class='flag-5'>stm32</b>之HAL庫(kù)<b class='flag-5'>實(shí)現(xiàn)</b>us<b class='flag-5'>延時(shí)方法</b>

    電瓶修復(fù)技術(shù)—兩小時(shí)充滿電池可能嗎

    的效果,也就是2小時(shí)安全充電? 答:鉛酸蓄電池想要在2小時(shí)內(nèi)完全充滿,除非使用高恒壓值大電流,這樣會(huì)導(dǎo)致大量失水。 一般大功率脈沖充電保證失水可接受的程度下可以2
    發(fā)表于 03-29 14:23 ?2168次閱讀

    程序運(yùn)行在STM32H750的外擴(kuò)FLASH上兩小時(shí)后死機(jī)該如何處理

    程序運(yùn)行在 STM32H750 的外擴(kuò) FLASH 上兩小時(shí)后死機(jī)
    的頭像 發(fā)表于 10-24 15:20 ?2862次閱讀
    程序運(yùn)行在<b class='flag-5'>STM32</b>H750的外擴(kuò)FLASH上<b class='flag-5'>兩小時(shí)</b>后死機(jī)該如何處理
    罗盘24层| 大发888娱乐城888 bg| 百家乐官网网上娱乐场开户注册 | 大发888全部的网站地址| 怎样赢百家乐的玩法技巧和规则| 百家乐视频金币| 百家乐官网官网游戏| 百家乐官网路单免费下载| 金钱豹娱乐| 皇朝娱乐城| 凤山市| 皇家娱乐场| 威尼斯人娱乐城易博| 菲彩百家乐的玩法技巧和规则| 百家乐公式与赌法| 百家乐赌场占多大概率| 百家乐官网有公式| 榆次百家乐官网的玩法技巧和规则| 赌场百家乐官网作弊| 七胜百家乐官网娱乐| 百家乐官网微乐| 来博百家乐游戏| 优博百家乐现金网| 百家乐l路单| 百家乐大娱乐场开户注册| 网上百家乐乐代理| 威尼斯人娱乐城信誉最好| 全讯网hg7758.com| 网络棋牌频道| 政和县| 百家乐官网高手的心得| 百家乐官网博牌规例| 百家乐官网透明发牌机| 百家乐官网如何计牌| 百家乐官网视频游戏冲值| 百家乐官网电投软件| 威斯汀百家乐官网的玩法技巧和规则 | 太阳城百家乐怎样开户| 百家乐筹码真伪| 大发888娱乐城注册| 临夏市|