当前位置: 首页 > 工具软件 > flash light > 使用案例 >

flash led灯

韦飞尘
2023-12-01
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;
}

 类似资料: