- #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;
- }
|