熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2019-9-2 21:20
正文摘要:本人利用ad轉(zhuǎn)換出兩個(gè)不同電壓,a電壓和b電壓。a是始終比b小的,現(xiàn)在我想,當(dāng)a>b時(shí),c加1,如果a一直大于b,c就會(huì)一直加,但是我不需要它一直加,只加了一開始a>b的一次。我現(xiàn)在代碼是這樣的。如果a>b是一瞬間 ... |
| 感謝各位大佬的分享,已經(jīng)解決了。感謝大家。 |
cjm82 發(fā)表于 2019-9-2 23:13 兄弟,大哥謝謝,解決了 |
|
加個(gè)標(biāo)志位,a>b同時(shí)標(biāo)志位為零條件滿足時(shí)c+1,標(biāo)志位置位1; 當(dāng)a<=b時(shí),標(biāo)志位清零 |
較簡單的問題。樓上加flag的方法可行,如果不加標(biāo)志,也可行。按樓主意思,發(fā)生a>b時(shí),c加1,且只加一次,那就是C=1。c=0; //AD轉(zhuǎn)換..... if(a>b) { c=1; LED2=!LED2; delayms(50); } else { c=0; } |
| 加個(gè)標(biāo)志位,a>b同時(shí)標(biāo)志位為零條件滿足時(shí)c+1,標(biāo)志位置位1; 當(dāng)a<=b時(shí),標(biāo)志位清零 |
|
設(shè)置一個(gè)標(biāo)志變量 例如 u8 flag = 0; //0表示如果下次檢測到a>b則c++, 1表示上一次檢測到a>b, if(a>b) { if(flag = 0) { c++; flag = 1; //c++后,將flag置1,用以防止下一次檢測到a>b時(shí) 再次執(zhí)行c++ } }else //如果a>b不成立,即a<=b { flag = 0; //將flag清0,以便下一次檢測到a>b時(shí)執(zhí)行c++ } |
| 加個(gè)標(biāo)志變量就行了呀 |
|
bit flag=0; if((!flag)&&(a>b)) {c++; flag=1;} else flag=0; |
Powered by 單片機(jī)教程網(wǎng)