yuri_su 发表于 2012-6-1 13:46:07

使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 测试通过.

2746 发表于 2022-2-4 17:25:17

GitHub上有个项目,可以支持很多不常用的芯片,包括:
ATmega8
ATmega48
ATmega88
ATmega168
ATmega328
以及它们的各种版本 (A, P, PA and PB)。
项目地址:
https://github.com/MCUdude/MiniCore/

nb666001 发表于 2012-7-27 16:41:32

打开Arduino IDE的\hardware\arduino\boards.txt文件,注意这个文件是特殊格式,不要用记事本来编辑.
新手求助
不是直接打开boards.txt粘贴进去么?
不是的话,正确的该怎么操作啊?

nb666001 发表于 2012-7-30 13:18:57

用Notepad++,粘贴进去,保存,对不对啊?

huangshan78 发表于 2015-12-25 17:15:53

不行啊,还是下载不了

huangshan78 发表于 2016-1-14 23:26:35

##############################################################


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

huangshan78 发表于 2016-1-14 23:52:02

在arduino 1.0.5-r2版本可以使用

harryrobot 发表于 2018-12-27 13:35:25

huangshan78 发表于 2016-1-14 23:52
在arduino 1.0.5-r2版本可以使用

多谢,我成功了。后来的人注意IDE的版本。我也想想在最新版本里该怎么弄。

lhs 发表于 2020-10-6 16:12:08

大佬你是怎么更改那个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]
查看完整版本: 使Arduino支持ATmega168PA