我需要arduino uno r3中的按鈕幫助。通過使用寄存器而不使用pinMode,digitalWrite,digitalRead if-else和switch-case。Arduino按鈕
int led1=2, led2=3, led3=4, led4=5;
int led5=8, led6=9, led7=10, led8=11;
int button=12;
int i,j,k;
void setup() {
DDRB=DDRB|B00001111;
DDRD=DDRD|B00111100;
Serial.begin (9600);
}
void loop() {
int f=0;
for(int s=0;s<16;s++){
int k=0;
int i=0b00001;
int j=0b0011;
PORTB=f;
f +=1;
if (f==64){f=0;}
PORTD=0;
for(k=0;k<7;k++){
delay(250);
PORTD=i;
delay(250);
PORTD=j;
i=(i<<1);
j=(j<<1);
}
j=(j>>1);
for(int d=0; d<9; d++){
delay(250);
PORTD=i;
delay(250);
PORTD=j;
i=(i>>1);
j=(j>>1);
}
}
}
這是代碼。那我需要的是爲按鈕做一個while循環。當我按下按鈕時,程序將開始,當我再次按下按鈕時,程序將停止。
什麼是你要求的「程序」,一個定義好的程序,或者你想打開/關閉Arduino? –
一個定義的例程,led將通過使用端口操作打開 – Thearnavut