AVR开发笔记——熔丝位

本文详细记录了作者在AVR开发过程中遇到的熔丝位问题及解决过程。通过错误配置导致芯片锁死,最终通过外部晶振解锁并重新配置熔丝位。文中分享了如何使用有源晶振输出时钟信号到锁死芯片,以及在不解锁状态下烧写新熔丝位的方法,旨在帮助开发者理解AVR熔丝位的工作原理和避免类似问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

纠结了一天的Atmega16熔丝位总于算是水落石出了!

刚刚开始用RZ的开发板的时候还不清楚熔丝位这个概念,于是就傻傻的用了AVR的内部时钟晶振,之后买了自己的AVR芯片(18.5块~卖血去了),做了自己的AVR最小系统,之后看了书,才知道要配置熔丝位来控制外部晶振的,所以就尝试下配置,结果悲剧接踵而来!

       首先是在自己的最小系统上配置错误,配置为外部RC振荡时钟,之后认真看才知道,原来是石英,本来就是石英,这点常识都不懂,晕自己!这样芯片就被锁死了,网上找了下有个办法说是让好的芯片输出时钟引脚(XTAL2)接到锁死的芯片的时钟输入引脚(XTAL1),不过没有具体过程,说是直接连接,也不知输出时钟的脉冲是多少,就这样直接连接了。啥情况丫,就没啥情况,啥都没发生,你都不想想,锁死的芯片要接上电源才行丫,于是我就接上电源,也不行!是这样解锁的吗??

       之后就把好的芯片插到最小系统上去,可是居然没法烧写,啥情况??本以为刚刚做好的最小系统坏了,因为在RZ开发板上是可以正常操作的,于是就那里检测下,那里检测下,没坏呀~到晚上时,想看看好的芯片的熔丝位配置才发现原来这块好的芯片的CKSEl配置为外部的石英时钟芯片了,而我那块板是没有接晶振的。但这个发现也已经是很晚的时候了。

       一整块下来感觉都很奇怪,于是就去专门的AVR论坛去看看别人是如何解决的,终于在几个人的话语中领悟到了真谛丫

       我先用好的芯片在RZ开发板上通过8M的晶振(用示波器检查过,确实是8M)从XTAL2上输出,这个就是有源晶振了。(有些人用单片机在IO口上输出8M的时钟也是可以的,不过要自己写程序,麻烦点,这里为什么用8M,自己也不是很清楚,应该是自己设定了外部RC的为8M的缘故吧,这样之后接入锁死芯片算是给它一个模拟式的外部RC晶振让锁死芯片得以正常工作)之后把锁死芯片插到最小系统上,这时最小系统可以不用外部晶振,然后用连线把从好的芯片的XT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值