目录

Atmel-Studio-开发-atmega-Pro-Micro

Atmel Studio 开发 atmega – Pro Micro

IDE开发环境:

Atmel Studio 7.0

https://i-blog.csdnimg.cn/blog_migrate/f8440f8970e72b00d9aba1fc833aaac9.png

Target:

Pro Micro atmega32u4

https://i-blog.csdnimg.cn/blog_migrate/0b13fb5ef06a32e32b46b364ad693c28.png

烧写工具: USBasp

烧写软件: F:\ardunio\as\avrdudess_20140805

驱动:F:\ardunio\as\usbasp驱动(适用于64位win7)

https://i-blog.csdnimg.cn/blog_migrate/33b867a38c37abfe8ea56c88d8d14a10.png

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

https://i-blog.csdnimg.cn/blog_migrate/9cd0ffb83dfb3bd2b6b26a4a70565be0.png

https://i-blog.csdnimg.cn/blog_migrate/5f0129154de0ef0bf8d5865dc0c54ade.png

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();

}