修改熔丝让 pro mini 工作在 2.7V
前一阵子发现理论上可以在最低 2.4V 运行的 pro mini 8M 实际上不能在 2.9V 以下正常工作。做了一些实验,排除了一些可能的原因,猜测是熔丝配置的问题。花时间读了 328P 的 datasheet,找到了关于 BOD (Brown-out Detector) 的信息。还有几处相关的信息,可以在 datasheet 中搜索一下。
等网上买的 usbasp 到手以后,读取了 pro mini 的熔丝:
修改:
这样就关掉了 BOD 功能,板子可以在 2.7V 正常工作了。 另外,关于熔丝的一些情况在这里提一下,就是 avrdude 和 usbasp 关于熔丝位的定义有一点区别。
##############################################################
pro328.name=Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328
pro328.upload.protocol=arduino
pro328.upload.maximum_size=30720
pro328.upload.speed=57600
pro328.bootloader.low_fuses=0xFF
pro328.bootloader.high_fuses=0xDA
pro328.bootloader.extended_fuses=0x05
pro328.bootloader.path=atmega
pro328.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
pro328.bootloader.unlock_bits=0x3F
pro328.bootloader.lock_bits=0x0F
pro328.build.mcu=atmega328p
pro328.build.f_cpu=8000000L
pro328.build.core=arduino
pro328.build.variant=standard
##############################################################
这是 Arduino IDE 里面的设置,对比 usbasp 读到的数据,熔丝扩展位是不一样的。因为前者把空位当成 0,后者当成 1。但实际上表示的是一样的东西。 关于接线方法
我用的是 USBASP,10 针接口,pro mini 需要自己把相应的数据线连接上去。由于是板子是 3.3V 的,所以用的是双电压版的 USBASP。我不清楚 5V 会不会出问题。
借用一下别人的图片(http://arduinodev.com/program_arduino_with_usbasp/)。不同版本的 USBASP 的接口可能有一些小小区别,比如有一些脚位 NC。参照它自己的说明书就好。
图中 pro mini 的版本和我手里的不一样,不过需要接线的几个位置是一样的,我就不自己花时间画了。
另外,隐隐约约记得在哪里看到过有人说烧写的时候要把 13 口的 led 取下来,不过我的烙铁不在家,就没动,但是结果是成功的。 好贴,顶起
页:
[1]