私は通常、Arduino Pro 3.3V 8MHzプロファイルとブートローダーを使用して、5V @ 8MHzで動作するカスタムArduino ATMega328ボードを持っています。このセットアップを使用している主な理由は、主電源が切断され、バッテリー電源(コインセルから3V)がなくなると、ボードをスリープ状態にできるようにするためです。5Vと3VのソースはダイオードOR接続され、5V入力はINT0に接続されています。コードでは、INT0がLowに低下したことを検出すると、スリープモードを初期化し、1Hzサイクルを維持して内部カウントを維持し、チップが再びウェイクアップすることを確認するウォッチドッグタイマーを除いて、すべてがパワーダウンします。これは、作品美しく、5V電源は、その後、バッテリーが挿入され、最初に適用されると、その後5Vは切断されています。スリープ状態になり、5Vに戻るとウェイクアップして、カウントを失っていないことがわかります。
ただし、問題は3Vが最初に適用されるときに発生します。正直なところ、それが起動するかどうかはわかりません。しかし、それはブートすることですが、INT0(デジタル2)が低いかどうかを確認し、低い場合はスリープ状態にしてください。電流引き込みを観察すると、数秒間で数mAまで電力が供給され、その後約0.3 mAに低下します(スリープモードの場合よりもさらに高くなります)。しかし、5Vを再適用しても何も起こりません。消費電力は回復しますが、応答しません(FTDIシリアル経由)。
3Vで起動できないという見当たらないことはありますか?理論的には問題なく動作するはずです。
更新: D13にLEDを落として、点滅のスケッチを試しました。3Vまたは5Vから開始すると正常に動作します。しかし、ファームウェアを実行して3Vから起動すると、LEDが乱暴に点滅し始めます。私はコード内でD13をセットアップすることさえしなかったので、何が原因なのかわかりません。しかし、それは私にそれをブートローダーと関係があるものにする...