我需要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