int main(void){
alt_u8 led1 = 0x02;
alt_u8 led2 = 0x40;
alt_u8 led_add = (led1 | led2);
alt_u8 dir = 0;
volatile int i;
while (1) {
if (led_add & 0x81){ //按位与,即头或尾为1,为真
dir = (dir ^ 0x1); //按位异或,即最后一位翻转
}
if (dir) {
led1 = led1 >> 1;
led2 = led2 << 1;
}
else {
led1 = led1 << 1;
led2 = led2 >> 1;
}
led_add = (led1 | led2);
IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, led_add);
for(i=0;i<200000;i++);//delay
}
return 0;
}