纠结了一天的Atmega16熔丝位总于算是水落石出了!
刚刚开始用RZ的开发板的时候还不清楚熔丝位这个概念,于是就傻傻的用了AVR的内部时钟晶振,之后买了自己的AVR芯片(18.5块~卖血去了),做了自己的AVR最小系统,之后看了书,才知道要配置熔丝位来控制外部晶振的,所以就尝试下配置,结果悲剧接踵而来!
首先是在自己的最小系统上配置错误,配置为外部RC振荡时钟,之后认真看才知道,原来是石英,本来就是石英,这点常识都不懂,晕自己!这样芯片就被锁死了,网上找了下有个办法说是让好的芯片输出时钟引脚(XTAL2)接到锁死的芯片的时钟输入引脚(XTAL1),不过没有具体过程,说是直接连接,也不知输出时钟的脉冲是多少,就这样直接连接了。啥情况丫,就没啥情况,啥都没发生,你都不想想,锁死的芯片要接上电源才行丫,于是我就接上电源,也不行!是这样解锁的吗??
之后就把好的芯片插到最小系统上去,可是居然没法烧写,啥情况??本以为刚刚做好的最小系统坏了,因为在RZ开发板上是可以正常操作的,于是就那里检测下,那里检测下,没坏呀~到晚上时,想看看好的芯片的熔丝位配置才发现原来这块好的芯片的CKSEl配置为外部的石英时钟芯片了,而我那块板是没有接晶振的。但这个发现也已经是很晚的时候了。
一整块下来感觉都很奇怪,于是就去专门的AVR论坛去看看别人是如何解决的,终于在几个人的话语中领悟到了真谛丫