標(biāo)題:
C語言程序怎樣知道另一變量加1并跟隨加1
[打印本頁]
作者:
君工創(chuàng)
時間:
2025-5-8 12:33
標(biāo)題:
C語言程序怎樣知道另一變量加1并跟隨加1
51單片機(jī)C程序,怎樣知道另一個變量a在加一。如果a加1,b也加1。如果a停止加1,b也停止并退出。怎樣寫?
作者:
xianfajushi
時間:
2025-5-8 13:33
用狀態(tài),+1同時賦值狀態(tài),跟隨后狀態(tài)取消.
作者:
cyi8
時間:
2025-5-8 13:43
定義變量x,x=a,然后在后面需要b+1的程序之前用a-x==1作為條件,再在b+1語句后加一條x=a,納入a-x==1條件中.
作者:
wpppmlah
時間:
2025-5-8 13:43
常規(guī)思維: 定時器中斷函數(shù)中添加: if(b!=a) b=a; 這樣變量b的值永遠(yuǎn)追隨a
作者:
xiaobendan001
時間:
2025-5-8 14:36
在加一,說的是多久?
比如1秒,那么先TMP=A,每秒鐘IF(A==TMP+1){B++;TMP = A;}ELSE IF(A==TMP)RETURN;
如果一秒內(nèi)沒變化或者加了大于1,就退出,退出就是啥也不做,意思就是B沒有變化。
周期很重要,可以0.1秒,也能1天。
作者:
zpwgf
時間:
2025-5-8 15:04
volatile unsigned char a = 0; // 使用volatile防止優(yōu)化
unsigned char b = 0;
unsigned char last_a = 0;
void main() {
while(1) {
if (a != last_a) { // 檢測a是否變化
b++; // 同步增加b
last_a = a; // 更新舊值
}
}
}
作者:
zhuls
時間:
2025-5-8 15:46
char A,B;
char OA;
//外部引入
作者:
zhuls
時間:
2025-5-8 15:49
if (OA !=A)
{
if (OA=A+1){OA=A;B++;}
if(OA!=A+1){OA=A;}
}
作者:
Hecat
時間:
2025-5-8 21:06
你這個需求是怎么來的?不可以直接使用變量a嗎?
作者:
ICELLL
時間:
2025-5-8 21:25
C語言不太好做,要么利用中斷檢測,檢測到a的值變化就觸發(fā)一次中斷然后b+1;要么使用輪詢的方法,一直循環(huán)查詢a是否加一。如果你是用FPGA就好辦很多,將a作為always的邊沿觸發(fā)條件,里面b+1。
作者:
Nakioy
時間:
2025-5-9 10:03
int a = 0; int a_pre = 0; int b; void test() { while(1) { if(a_pre != a) { break; } else b++; a_pre++; // 定義一個變量和a同時自加 a++; // 模擬a自加的操作,如果這里a不自加了,a_pre和a就不相等了。 } return ; }
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1