arduino心得

研究了几天arduino, 

成果:

把以前购买的2块avr实验板,灌入了bootloader,改成了arduino, 

把一个4块钱的atmega8芯片,加上几个插针,2个电容, 做成了arduino,

diy arduino要注意的几个地方:

bootloader系统的时钟频率,要正确的写在board.txt里面,否则一些delay指令会不准确。

bootloader的串口速率,也要正确写在board.txt里面,否则不能通过串口下载程序。

修改bootloader的时钟频率和通讯速率,在bootloader目录下的Makefile中。

bootloader目录下有几套不同的bootloader, 最好的是optiboot, 体积小。

在Makefile里面可以指定在启动时,led闪动几次,  最好不要大于2,否则,会影响串口下载。

 

一个usbasp下载线,是必须的,淘宝价12元,  自己用atmega8l做,大约5元成本。

atmega8l内部的rc振荡器, 可以工作在1,2,4,8Mhz,通过校准寄存器的修改, 能提高到12Mhz,   可以省掉外置的12M晶振,  使用没问题,但是校准很麻烦,并且软件模拟的usb串口,对时钟很敏感,  校准寄存器的数值加1或减1,usb就不能工作了。不太 适用。 玩玩可以,用着一个不带晶振的usbasp下载电缆还是挺拉风的。

串口下载程序的时候,需要适时复位一下,让bootloader进入下载模式,在串口上,是通过DTR信号,来控制目标板的自动复位,  如果是3线制的, 就要手动按复位键,在屏幕显示编译完成,开始下载的一瞬间,按下复位键。

bootloader 用optiboot比较好,

mega8_fuse.gif
附件大小
p8_patch.diff.old6.78 千字节
p8_patch.diff4.16 千字节