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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1286|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

C語言程序中如何獲得自加時的值?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:997026 發(fā)表于 2022-4-5 21:48 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
有如下C語言程序,我想知道當(dāng)trigger_IO被拉低時,此時process_cnt在中斷里自加到哪個數(shù)了?大概的代碼應(yīng)該怎么寫?請教各位大神!
因?yàn)閜rocess_cnt一直在自加,數(shù)值是變化的,當(dāng)process_cnt>5時,自加到某一個值,如果發(fā)生trigger_IO被拉低,此時process_cnt的值是多少(想知道的是process_cnt的初值,也就是trigger_IO被拉低的瞬間,process_cnt的值是多少)?代碼應(yīng)該怎么寫呢?

unsigned char   process_cnt=0;
unsigned char   trigger_IO=0;
void    sum_process1();
void    sum_process2();

int main(void)
{
   if (process_cnt<=5)
    {
        sum_process1();
    }
    else
    {
      if(!trigger_IO)
      {
         sum_process2();
         //此處需要知道當(dāng)trigger_IO被拉低時,process_cnt自加到哪個值了?
      }
    }
}


ISR(timer_vect)  //定時器中斷,1s進(jìn)一次中斷
{
  process_cnt ++;
if(process_cnt==1000)
{
    process_cnt=0;
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:161164 發(fā)表于 2022-4-5 22:57 | 只看該作者
開多一個變數(shù)如process_cnt_tigger
//此處需要知道當(dāng)trigger_IO被拉低時,process_cnt自加到哪個值了?
process_cnt_tigger = process_cnt;

然后就用方法去顯示process_cnt_tigger如:
串口
數(shù)碼管
LCD1602/12864/OLED
回復(fù)

使用道具 舉報

板凳
ID:997026 發(fā)表于 2022-4-5 23:26 | 只看該作者
本帖最后由 hxdby 于 2022-4-5 23:27 編輯
lkc8210 發(fā)表于 2022-4-5 22:57
開多一個變數(shù)如process_cnt_tigger
//此處需要知道當(dāng)trigger_IO被拉低時,process_cnt自加到哪個值了?
p ...

我想到的也是這種方法,但是遺憾的是我這里不能用到LCD,串口和數(shù)碼管這些,可能是我沒說清楚,其實(shí)我只需要捕獲到trigger_IO拉低時,process_cnt初值(不需要管這個初值具體值多少,只需要捕獲到,然后保存就可以)就行了。
舉個例子,假設(shè)trigger_IO拉低時,process_cnt的值剛好是7,然后trigger_IO拉低了5s, process_cnt從7開始連續(xù)自加到12.  我只需要捕獲到拉低瞬間的初值7,后面的值不用管。或者換句話說,我甚至不需要知道這個初值是不是7或其他什么值都無所謂,這不重要,我只需要捕獲到這個初值并保存就可以,只要知道我捕獲的這個是trigger_IO拉低時,process_cnt初值就行,有什么方法?感謝
回復(fù)

使用道具 舉報

地板
ID:883242 發(fā)表于 2022-4-5 23:46 | 只看該作者
hxdby 發(fā)表于 2022-4-5 23:26
我想到的也是這種方法,但是遺憾的是我這里不能用到LCD,串口和數(shù)碼管這些,可能是我沒說清楚,其實(shí)我只需 ...

在sum_process2();之前直接讀process_cnt的值就行了,為什么你不去讀?
回復(fù)

使用道具 舉報

5#
ID:997026 發(fā)表于 2022-4-6 10:12 | 只看該作者
本帖最后由 hxdby 于 2022-4-6 10:17 編輯
Hephaestus 發(fā)表于 2022-4-5 23:46
在sum_process2();之前直接讀process_cnt的值就行了,為什么你不去讀?

我直接設(shè)置一個變量temp=process_cnt保存這個初值,其實(shí)我的應(yīng)用場景是,要在trigger_IO拉低時,先執(zhí)行sum_process2(), 然后過5s在執(zhí)行另一個程序,大概這樣:

if(!trigger_IO)
      {
         unsigned int temp;
         temp=process_cnt; //捕獲process_cnt初值
         sum_process2();  //實(shí)際發(fā)現(xiàn)執(zhí)行到這里結(jié)束了,下面的沒有執(zhí)行,trigger_IO拉低的時間是夠的
         if(process_cnt==(temp+5)) //延遲5s
         {
           state_change=1;  
         }         
      }

感覺這樣寫是有問題的,因?yàn)閜rocess_cnt的值在不斷變,但是又不知道如何寫才能實(shí)現(xiàn)這個功能。補(bǔ)充一下,sum_process2()執(zhí)行的時間是極短的,內(nèi)部只是一個關(guān)閉LED的動作。
回復(fù)

使用道具 舉報

6#
ID:161164 發(fā)表于 2022-4-6 11:40 | 只看該作者
其實(shí)你只是想用process_cnt來做延時
說得那么復(fù)雜干什么
開多一個全局變數(shù)bit Trigger_flag=0;

if(!trigger_IO)
      {
         unsigned int temp;
         temp=process_cnt; //捕獲process_cnt初值
Trigger_flag=1;
         sum_process2();  //實(shí)際發(fā)現(xiàn)執(zhí)行到這里結(jié)束了,下面的沒有執(zhí)行,trigger_IO拉低的時間是夠的
         
      }

把下面的代碼放到外面的while(1)里
if(Trigger_flag)
{
if(process_cnt>=(temp+5)) //延遲5s
         {
           state_change=1;  
Trigger_flag=0;
         }         
}
回復(fù)

使用道具 舉報

7#
ID:997026 發(fā)表于 2022-4-6 19:40 | 只看該作者
lkc8210 發(fā)表于 2022-4-6 11:40
其實(shí)你只是想用process_cnt來做延時
說得那么復(fù)雜干什么
開多一個全局變數(shù)bit Trigger_flag=0;

感謝指點(diǎn)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国内精品伊人久久久久网站 | 99re视频在线 | 日日躁狠狠躁aaaaxxxx | 精品久久久久国产免费第一页 | 成人精品 | 欧美日本在线观看 | 美女福利视频网站 | 亚洲欧美综合精品久久成人 | 日韩欧美国产电影 | 综合久久综合久久 | 日本在线你懂的 | 日本天天操 | 毛片视频免费观看 | 成人黄色电影在线观看 | 国产高清在线观看 | 精品久久久一区二区 | 操操日 | 亚洲视频一区二区三区 | wwww.xxxx免费 | 久久久国产一区二区三区四区小说 | 久久久精品视频一区二区三区 | 国产精品一区二区精品 | 999热精品视频 | 亚洲欧美在线视频 | 三级黄视频在线观看 | 电影在线 | 中文二区 | 成人欧美一区二区三区 | 日韩中文字幕 | 日韩一区精品 | 国产精品一区免费 | 一区二区三区视频 | 亚洲国产精品人人爽夜夜爽 | 日韩欧美一二三区 | 久久精品电影 | av黄色国产 | 亚洲毛片在线观看 | 浮生影院免费观看中文版 | 午夜免费av | 夜久久 | 色婷婷亚洲一区二区三区 |