久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

C語言如何在while循環(huán)內(nèi)讓一個語句每隔10分鐘運行一次,其他正常循環(huán)

查看數(shù): 9260 | 評論數(shù): 17 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2019-7-2 08:58

正文摘要:

代碼萌新,最近在看STM32單片機,還沒有看完全,但是現(xiàn)在需要用到,所以來求助一下各位:如何在while循環(huán)內(nèi)讓一個語句每隔10分鐘運行一次,其他正常循環(huán)。如圖紅色區(qū)域的語句是需要每十分鐘發(fā)送一次的。 單片機C ...

回復

ID:518788 發(fā)表于 2019-7-3 16:48
用定時器當達到十分鐘后產(chǎn)生中斷
ID:431026 發(fā)表于 2019-7-3 16:24
開一個定時器,使用變量計數(shù),每到十分鐘,標志位置位,執(zhí)行一次程序代碼清標志,如此循環(huán)
ID:307505 發(fā)表于 2019-7-3 15:32
if 加條件比較就行。
ID:577104 發(fā)表于 2019-7-3 14:44
設(shè)置一個定時器,然后采用循環(huán)方式就可以了
ID:577140 發(fā)表于 2019-7-3 14:40
定時器+計數(shù)器,計數(shù)到需要的時間就進去這個語句執(zhí)行一次
ID:577031 發(fā)表于 2019-7-3 11:54
打個比方,設(shè)置定時器3每秒中斷一次,在中斷中將全局變量加1,在主循環(huán)中判斷該變量是否大于等于600(即10分鐘),判斷成立即執(zhí)行相應程序并清零該變量
ID:577031 發(fā)表于 2019-7-3 11:52
使用硬件定時器即可
ID:576726 發(fā)表于 2019-7-3 10:11
你把需要10分鐘執(zhí)行一次的代碼放到一個10分鐘的定時器里面執(zhí)行就可以了
ID:576804 發(fā)表于 2019-7-3 02:27
用一個定時器計算每次main的循環(huán)所需要的時間,然后累加,大于等于10分鐘就執(zhí)行,然后將累加的時間清零繼續(xù)
ID:576466 發(fā)表于 2019-7-2 16:20
/**把需要定時發(fā)送的模塊放在if語句中,時間達到10分鐘則執(zhí)行一次,否則跳過。**/


           if (n>=12000)        //n=12000=10分鐘
           {
                ......;   //需要定時發(fā)送的模塊
                 n=0;
           }

/******************************************************************************
** 函數(shù)功能 : 定時器初始化子程序
******************************************************************************/

void Init_Timer0(void)                  //定時器初始化子程序
{
        TMOD = 0x01;          //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響                     
        TH0=0x00;              //給定初值,這里使用定時器最大值從0開始計數(shù)一直到65535溢出
        TL0=0x00;
        EA=1;            //總中斷打開
        ET0=1;           //定時器中斷打開
        TR0=1;           //定時器開關(guān)打開
}


/*******************************************************************************
** 函數(shù)功能 : 定時器中斷程序
*******************************************************************************/

void Timer0_isr(void) interrupt 1 using 1
{
        TH0=0x00;                  //重新賦值,方式1是16位計數(shù)器,不能硬件重裝初始值
        TL0=0x00;
//        LED=0X08;        //指示燈反相,可以看到閃爍
        n++;
//        if (n>100)
//        LED = ~LED;

}
ID:265458 發(fā)表于 2019-7-2 11:19
先定義一個變量T=0,再用定時器,到你想要的時間后,將T=1,關(guān)閉定時器,在while(1){if(T==1){紅色區(qū)域內(nèi)代碼;T=0;開啟定時器;}}
ID:265458 發(fā)表于 2019-7-2 11:14
先定義一個變量T=0, 用定時器,定時到你想要的時間后,將變量T=1,再在while(1){}
ID:571958 發(fā)表于 2019-7-2 11:13
每次循環(huán),拿現(xiàn)在的時間和你保存的時間比,超過10s, 把當前時間保存,運行你的函數(shù)。如果不到10s,忽略,繼續(xù)跑其他函數(shù)。大循環(huán)時間長,10s的精度就會差,如果要準確的10s,你要放中斷里做了。
ID:155467 發(fā)表于 2019-7-2 11:01

加一個計數(shù)器,用定時器中斷給這個計數(shù)器+1。
循環(huán)里面判斷上次運行到現(xiàn)在計數(shù)器增加了多少,如果達到你的10分鐘的計數(shù)值,就運行程序,同時記錄這次運行后的計數(shù)器值。
ID:10947 發(fā)表于 2019-7-2 10:34
定時器+計數(shù)器,計數(shù)到需要的時間就進去這個語句執(zhí)行一次
ID:277550 發(fā)表于 2019-7-2 10:05
建議使用定時器,加計時變量。

~~~~~~~~~~
ID:158375 發(fā)表于 2019-7-2 08:58
打開一個定時器,定時器里面每10分鐘就設(shè)定一個標志:while里面查標志位,有標志就發(fā)送一次即可

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品免费在线 | 日韩久久在线 | 香蕉视频一区二区 | 在线亚洲免费视频 | 久久久久久久久久久久91 | 久久网亚洲 | 国产美女一区二区 | 乱码av午夜噜噜噜噜动漫 | 久草青青草 | 久久免费精品视频 | 99久久婷婷国产综合精品电影 | 国产精品美女久久久久久久久久久 | 亚洲一区二区三区免费视频 | 欧美视频二区 | 麻豆成人在线视频 | 日韩视频观看 | 国产一区二区av | 国内在线视频 | 狠狠干在线 | 成人久久18免费网站麻豆 | 中文字幕乱码视频32 | 亚洲国产精品一区二区久久 | 成人午夜免费福利视频 | 久久日韩粉嫩一区二区三区 | 国产片侵犯亲女视频播放 | 亚洲国产高清高潮精品美女 | 毛片一区二区 | 欧美一区二区免费 | 日韩精品在线一区 | 黄网免费 | 欧美日韩国产精品一区二区 | 91av在线视频观看 | 日韩久久中文字幕 | 亚洲一二视频 | 人成在线 | 一区二区三区视频免费看 | 久久9999久久 | 免费一二区 | aaa一区 | 国产美女免费视频 | 在线激情视频 |