亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

標(biāo)題: 小白在單片機(jī)中斷程序中關(guān)于if使用的問題 [打印本頁]

作者: Axes    時間: 2020-6-14 11:55
標(biāo)題: 小白在單片機(jī)中斷程序中關(guān)于if使用的問題
整個程序是對外部脈沖進(jìn)行一個計數(shù)
圖1是一開始寫的代碼,是可以直接運(yùn)行,對外部脈沖的計數(shù)也是正常的,由于所測信號是非周期信號,為了減小誤差我決定測3次取均值,就寫了圖2的代碼,可以編譯通過,但仿真的時候計數(shù)就明顯不正常了。還望個位大佬能幫助小白,怎么改才行。

批注 2020-06-14 114915.jpg (226.52 KB, 下載次數(shù): 51)

圖2

圖2

批注 2020-06-14 114907.jpg (120.23 KB, 下載次數(shù): 49)

圖1

圖1

作者: 碼不止    時間: 2020-6-14 16:20
建議你去找本書看看,可能是此處的量增多,在其它地方也應(yīng)該跟著進(jìn)行變動
作者: hhh402    時間: 2020-6-14 18:32
正常情況下if()語句的判斷要使用>或<,不要用==,用==有風(fēng)險,比如if(time==60),如果有高等級中斷的話有可能錯過,改成if(time>=60)比較好。
作者: yzwzfyz    時間: 2020-6-16 16:20
思路正確。
注意一下:每次的起點、終點如何界定。
作者: xqleft    時間: 2020-6-16 22:31
這三個if可以同時運(yùn)行, 也可以說只運(yùn)行第一個.為什么這楊說呢?你這個time++,適用于下面三個,也就是說等于60 ,120,180的時候就會清零對吧. 但是.重點來了.這個time+到60之后就被你清零了,也就是說后面的120 ,180.永遠(yuǎn)到不了.明白了不? 所以這個time永遠(yuǎn)在60的時候就沒有了,就從新開始計數(shù)了.我不知道你這個計時3s 6s 9s是怎么樣才算是計滿了.所以不知道你的思路. 只能說幫你解決你這個計數(shù)的問題
作者: SKYLAR123    時間: 2020-6-17 09:53
66行下count沒有清零,當(dāng)你在開始下一個的時候總是在累加,導(dǎo)致運(yùn)行過程中count,而且需要添加一個time=0;這相當(dāng)與三個周期結(jié)束下一個三次采樣,time從0開始計數(shù),cout也從零計數(shù),認(rèn)為樓上說的不對,沒有見過你把time到結(jié)束清零
作者: 橘溫舊茶    時間: 2020-6-17 11:17
C語言書上有講解用法和舉例
作者: f556    時間: 2020-6-17 14:30
hhh402 發(fā)表于 2020-6-14 18:32
正常情況下if()語句的判斷要使用>或=60)比較好。

同感,有些人不注重這些細(xì)節(jié),bug在哪里自己找不出來。
作者: wufeng391    時間: 2020-6-17 21:04
如果三個相等的判斷的話,可以用switch……case……,或者if……else if……else,試下




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1