#include <avr32/io.h>
// 定义LED引脚
#define LED_PIN 0
// 延时函数
void delay_ms(int milliseconds) {
volatile int i;
while (milliseconds-- > 0) {
for (i = 0; i < 12000; i++) {
// 空循环实现延时
asm volatile ("nop");
}
}
}
int main(void) {
// 使能GPIO模块
AVR32_GPIO.port[0].gper = 1 << LED_PIN; // 使能GPIO功能
AVR32_GPIO.port[0].oder = 1 << LED_PIN; // 设置为输出模式
while (1) {
// 点亮LED
AVR32_GPIO.port[0].ovrs = 1 << LED_PIN; // 设置引脚为高电平
delay_ms(500); // 延时500毫秒
// 熄灭LED
AVR32_GPIO.port[0].ovrc = 1 << LED_PIN; // 设置引脚为低电平
delay_ms(500); // 延时500毫秒
}
return 0;
}
|