Skip to main content

Posts

Showing posts from February, 2013

例えA/D変換が使用され なくても、AVcc は外部的にVCCへ接続されるべきです

Atmega48PV を使用し、1.8V での駆動を試みたところ、書き込みもできない。 3.3V では問題なく書き込めるのだが。。。と試行錯誤。AVcc が浮いていたため、Vcc へ接続したところ、無事 1.8 V での書き込み、駆動ができた。 A/D を使用しないシステムなので AVcc はなにもしなかったが、それじゃ駄目だって言うことです。 ちなみにマニュアルには表題の通りとなっている。 【メモリプログラミング->直列プログラミング】の項より。

avrdude に atmega48p の設定を追加する

avrdude version 5.11.1 には atmega48p の設定がない。 故に書き込もうとするとシグネチャが Atmega48 と合わずにエラーとなり、書き込めない。 avrdude: Device signature = 0x1e920a avrdude: Expected signature for ATMEGA48 is 1E 92 05          Double check chip, or use -F to override this check. これは単にデバイスシグネチャが異なるだけなのだが(機能的には同じ、消費電力が異なる) 、atmega88 は 88p も書き込めるのに、なんで 48 だけなの、と思っているひとは大勢居た。 http://electronics.stackexchange.com/questions/3721/avrdude-and-atmega48pa 簡単に言うと、avrdude.conf の #--------------------------------- # Atmega48 #--------------------------------- ....  をコピーして  Atmega48pの設定を作り、signature のみ書き換えましょう。ということです。(上記サイトでは atmega48pa となってます) #--------------------------------- # Atmega48P #--------------------------------- part id = "m48p"; desc = "ATMEGA48P"; has_debugwire = yes; flash_instr = 0xB6, 0x01, 0x11; eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, 0xBE, 0x01, 0xB6, 0x...