/*
项目: Demo1
文件: main.c
作者: shao ziyang
时间: 2009.5
说明: 第一个例子 LED demo1, LED每300ms变化一次,使用了_delay_ms函数进行延时。
同时演示了使用Bootload HID 下载HEX文件的方法。
开发环境: WinAVR 20071221 + AVRStudio 4.15
*/
#include <avr/io.h>
#define F_CPU 12000000UL
#define BootStart 0x1800
#include <util/delay.h>
#define LED PB3
int main(void)
{
DDRB = (1 << LED);
PORTB = 0xFF;
while(1)
{
if((PINB & (1 << PB2)) == 0)
(*((void(*)(void))(BootStart)))();
_delay_ms(300);
PORTB ^= (1 << LED);
}
return 0;
}
第一个例子 LED demo1, LED每300ms变化一次,使用了_delay_ms函数进行延时。同时演示了使用Bootload HID 下载HEX文件的方法。
先将杜邦线按照图中方式连接,右下角的SS连接到GND,MOSI连接到LED1或LED2。
连接USB,因为SS=0,这时将进入Bootload模式。将编译好的HEX文件复制到bootloadHID所在的文件夹,然后输入命令行:
bootloadHID demo1.hex
按下回车键后,就会出现如下的提示:
如果提示没有找到设备(The specified device was not found),说明USB没有连接好,需要重新连接。
程序写入成功后,就可以将SS的连线取下,程序将自动开始运行。最终的效果如图:
完整的项目例子
BootloadHID执行文件已经在上次的Bootload的例子中包含了。
相关
AUMFB 多功能试验板的原理图和PCB 博客 http://blog.ednchina.com/shaoziyang
网站 http://avrubd.googlepages.com
文章评论(0条评论)
登录后参与讨论