使Arduino支持ATmega168PA
如果自己做的板子使用ATmega168pa的芯片,烧写时会提示出错.其实只要增加对应的板卡就可以烧写了.
打开Arduino IDE的\hardware\arduino\boards.txt文件,注意这个文件是特殊格式,不要用记事本来编辑.
这份代码使用的是支持BT版本的168,就是官方的带蓝牙的arduino.这样的好处是有额外的功能增加.
1.增加Flash,空间是14336b的.
2.提供另外三组的PWM输出脚,加上原有的9,10,11,另外3,5,6也是PWM腳位。
3.提供另外两組analog輸入端,共8個模拟輸入。
以上增加是使用32脚贴片封装才会有的,如果还是使用直插,就跟原来一样了.
然后增加如下代码,就可以支持168pa了.##############################################################
bt168pa.name=Arduino BT w/ ATmega168P
bt168pa.upload.protocol=arduino
bt168pa.upload.maximum_size=14336
bt168pa.upload.speed=19200
bt168pa.upload.disable_flushing=true
bt168pa.bootloader.low_fuses=0xff
bt168pa.bootloader.high_fuses=0xdd
bt168pa.bootloader.extended_fuses=0x00
bt168pa.bootloader.path=bt
bt168pa.bootloader.file=ATmegaBOOT_168.hex
bt168pa.bootloader.unlock_bits=0x3F
bt168pa.bootloader.lock_bits=0x0F
bt168pa.build.mcu=atmega168p
bt168pa.build.f_cpu=16000000L
bt168pa.build.core=arduino
bt168pa.build.variant=eightanaloginputs
在arduino 1.0及 arduino 1.0.1 测试通过. GitHub上有个项目,可以支持很多不常用的芯片,包括:
ATmega8
ATmega48
ATmega88
ATmega168
ATmega328
以及它们的各种版本 (A, P, PA and PB)。
项目地址:
https://github.com/MCUdude/MiniCore/
打开Arduino IDE的\hardware\arduino\boards.txt文件,注意这个文件是特殊格式,不要用记事本来编辑.
新手求助
不是直接打开boards.txt粘贴进去么?
不是的话,正确的该怎么操作啊? 用Notepad++,粘贴进去,保存,对不对啊? 不行啊,还是下载不了
##############################################################
atmega168p.name=ATmega168PA-PU (16 MHz)
atmega168p.upload.protocol=arduino
atmega168p.upload.maximum_size=14336
atmega168p.upload.speed=19200
atmega168p.bootloader.low_fuses=0xff
atmega168p.bootloader.high_fuses=0xdd
atmega168p.bootloader.extended_fuses=0x00
atmega168p.bootloader.path=atmega
atmega168p.bootloader.file=ATmegaBOOT_168_ng.hex
atmega168p.bootloader.unlock_bits=0x3F
atmega168p.bootloader.lock_bits=0x0F
atmega168p.build.mcu=atmega168p
atmega168p.build.f_cpu=16000000L
atmega168p.build.core=arduino
atmega168p.build.variant=standard
##############################################################
atmega168bb.name=ATmega168PA-PU (8 MHz internal clock)
atmega168bb.upload.protocol=arduino
atmega168bb.upload.maximum_size=14336
atmega168bb.upload.speed=19200
atmega168bb.bootloader.low_fuses=0xE2
atmega168bb.bootloader.high_fuses=0xDA
atmega168bb.bootloader.extended_fuses=0x05
atmega168bb.bootloader.path=atmega
atmega168bb.bootloader.file=ATmegaBOOT_168_pro_8MHz.hex
atmega168bb.bootloader.unlock_bits=0x3F
atmega168bb.bootloader.lock_bits=0x0F
atmega168bb.build.mcu=atmega168
atmega168bb.build.f_cpu=8000000L
atmega168bb.build.core=arduino
atmega168bb.build.variant=standard
###################################################################
atmega168pext.name=OK Arduino ATmega168PA-AU
atmega168pext.upload.protocol=stk500
atmega168pext.upload.maximum_size=14336
atmega168pext.upload.speed=19200
atmega168pext.bootloader.low_fuses=0xff
atmega168pext.bootloader.high_fuses=0xdd
atmega168pext.bootloader.extended_fuses=0x00
atmega168pext.bootloader.path=atmega
atmega168pext.bootloader.file=ATmegaBOOT_168_diecimila.hex
atmega168pext.bootloader.unlock_bits=0x3F
atmega168pext.bootloader.lock_bits=0x0F
atmega168pext.build.mcu=atmega168p
atmega168pext.build.f_cpu=16000000L
atmega168pext.build.core=arduino 在arduino 1.0.5-r2版本可以使用
huangshan78 发表于 2016-1-14 23:52
在arduino 1.0.5-r2版本可以使用
多谢,我成功了。后来的人注意IDE的版本。我也想想在最新版本里该怎么弄。 大佬你是怎么更改那个boards.tex 文件的啊我使用记事本更改出现了168p的板子不过烧录还是不行烧写boot是uno做ISP连线没有问题168p板子是直接把原本uno板子芯片换成168的芯片它们电路是兼容的我看了原理图 管脚和电路都是兼容的
avrdude: Device signature = 0x000000
avrdude: Yikes!Invalid device signature.
Double check connections and try again, or use -F to override
this check.
这个是ide提示的信息先提前谢谢大佬了
页:
[1]