このブログへの投稿/アップロードについて(コメントは誰でも、投稿は受講者+スタッフのみ)
コメント/投稿/ラベルについて(基本事項)投稿時間の設定(下書き/予定など)プログラム(ソースコード)を投稿する際の注意点Processingのプログラム(Applet)を表示する方法
ArduinoやProcessingについては「建築発明工作ゼミ2008」の方にまとめてあります。
秋葉原の電子工作マップ、Arduino販売店についてはこちら。 :

2009年10月29日木曜日

Arduino Mega:analogRead 8~15番ピンのバグ

MegaのanalogReadの8〜15番ピンの読取りでバグがあります。
ArduinoのForum内の
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1250970792/7
書いてあります。

Megaのハードウェアの問題ではなく、Arduino17のソフトの問題らしいです。
次回のArduino18からはバグ修正されるそうです。

解決法はArduino16に戻ってアップロードするか、
どうしてもArduino17を使いたいならば、既存のコード(バグ)を書き換える必要があります。
MacならArduino17のアプリケーション(Arduino.app)を右クリック(もしくはcontrolキー+クリック)して「パッケージの内容を表示」を選択すると、appファイルの中身を見ることができます。
Arduino.app>Contents>Resources>Java>hardware>cores>arduino>wiring_analog.c
上記ディレクトリの「wiring_analog.c」をテキストエディタなどで開いて、
45行目あたりにある
ADMUX = (analog_reference << 6) | (pin & 0x0f);

ADMUX = (analog_reference << 6) | (pin & 0x07);
に書き換えて保存すればOKです。

1 件のコメント:

*