查看文章
 
arduino熔丝位配置
2011-11-22 1:42

有兴趣在成都做创客空间的孩子   或者   在四川对创客空间感兴趣的孩子   ,请联系我,qq:823569290


废话不多说,直接正题:
本篇主要针对mega8系列的arduino。
大多数人烧bootloader都是用的usbasp(淘宝售价应该是20元左右),个人推荐用progisp这款软件(下载地址自己百度)。
进入软件,插好usbasp下载器。

左上角选择芯片型号,不管你是mega8a、48、88、168、328都选mega8A(理论上mega8也行)。
点击右下角的“...”,这个就是熔丝位配置。

然后如图设置,点击写入即可。
其中bootsz两项为熔丝位大小配置,根据你的bootloader大小配置。
11   128B
10   256B
01   512B
00   1K
据说UNO的bootloader只有512字节不到,那把BOOTSZ置01即可。

如果出现无法编程的情况,也许是两种可能:芯片已经被锁(新的不会);硬件焊接有问题(DIY经常出现的问题)。

PS:没打算学avr单片机的人,就别去深究每个熔丝位的作用了,arduino本来就是为了省去这些麻烦的过程,跑去深究就本末倒置了。


想弄得更清楚的孩子,那注意了,在此我重点说几个熔丝位:
CKSEL这几个熔丝位为晶振配置,很多人遇到芯片被锁的情况都是因为这个熔丝位配置出错;一般arduino都使用16M晶振,所以全部置1即可。(如何解锁?下次有时间我再写~~~)
SPIEN,spi使能,这是唯一一个千万不能置1的熔丝位,如果关了,那USBASP就无法使用了,这时只能通过并行编程或者JTAG来修改熔丝位了(mega8没JTAG...)
BOOTSZ,是对BOOT区大小进行配置的熔丝,根据相应bootloader大小配置。
BOOTRST,是对复位向量的配置,置0时复位向量指向BOOT起始位置,置1时指向APP区起始位置。很多人烧了bootloader后,不能下载或者只能下载一次,大多是因为BOOTRST没有置0。(想搞懂什么是BOOT区?APP区?这些个XX区怎么分配?那去图书管找本AVR的书认真学习吧,数据手册上面也有,但非专业人士还是很难看懂)
RSTDISBL,为硬复位功能使能端,如果置0,可以将reset端做数字IO使用,但在arduino上可能经常用到复位按键,所以这里置1。
WTDON为看门狗设置,置0后将打开看门狗,如不进行喂狗操作,将无限复位。一般我们的非工业制作都不使用看门狗功能,所以这里置1即可。

附SPI接口图:


还有什么问题留言吧~~~


类别:arduino(robot)||添加到搜藏 |分享到i贴吧|浏览(363)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu