IDE开发环境:
Atmel Studio 7.0
Target:
Pro Micro atmega32u4
烧写工具: USBasp
烧写软件: F:\ardunio\as\avrdudess_20140805
驱动:F:\ardunio\as\usbasp驱动(适用于64位win7)
Example: led.c
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0x1;
/* Replace with your application code */
while (1)
{
PORTB=0x1;
_delay_ms(300);
PORTB=0x0;
_delay_ms(200);
}
}
问题:
avr studio内部延时函数_delay_ms()误差 : 在程序最前面 加一下 #define F_CPU 1000000UL// 1M晶振
Interrupt
example:
void int0_init(void)
{
EICRA = (EICRA & ~((3<<ISC00) | (1<<ISC01))) | (1 << ISC00);
EIMSK |= (1<<INT0);
}
/**********INT0中断服务函数**********/
ISR(INT0_vect)
{
cli();
blue_led_blink();
sei();
}