LoginSignup
2
2

More than 5 years have passed since last update.

Arduino Pro Miniでスケッチアップロード時のAuto Resetが最初の1回しか動かない

Last updated at Posted at 2015-07-19

MacOSX上でArduino IDEからスケッチのアップロードをすると、USBケーブル接続直後の1回目のみ成功し、それ以降は失敗してしまう状況に悩まされていました。

どうやらApple純正FTDIドライバの問題だったようで、FTDI社のドライバを別途インストールしたところ解決しました。

環境

  • Mac OS X 10.9.5 (Mavericks)
  • Arduino IDE 1.6.5
  • Arduino Pro Mini互換ボード
  • FTDI FT232RLボード

現象

  • FT232とPro Miniは下記のように接続
    • DTR - DTR
    • RX - TX0
    • TX - RX1
    • VCC - VCC
    • CTS - GND
    • GND - GND
  • Arduino IDEからスケッチのアップロードをすると、USBケーブル接続直後の1回目のみ成功
  • その後2回目のアップロードをすると下記エラーが出て書き込みに失敗する
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
(以下略)

調査

テスターを当ててみたところ、初回書き込み時にDTRがHIGHからLOWに落ちてATmega328Pがリセットされるものの、その後ずっとLOWのままになっているようで、2回目以降の書き込みではリセットがかからないようでした。

また、DTRの代わりにRSTを接続して試してみたものの、やはり同じ状況でした。

同じ構成のままWindows7環境で確認してみたところ、こちらは何度でもアップロードできました。

つまり、MacOSX同梱のFTDIドライバが怪しいのでは…?

FTDI社のドライバをインストール

というわけでFTDI社純正ドライバをインストールしてみました。

FTDI社のVCPドライバ ダウンロードページから「Mac OS X 10.9 and above (64 bit)」をダウンロードします。Mavericks(10.9)以降ということなので、おそらくYosemiteにも対応していると思います。

ドライバをインストールして再起動すると、FTDI社のドライバが有効になります。FT232RLモジュールをMacにつないだ状態で下記コマンドを打つと、2つのドライバの情報が表示されます。

$ kextstat | grep -i ftdi
  131    0 0xffffff7f80f08000 0x7000     0x7000     com.apple.driver.AppleUSBFTDI (1.0.1b3) <116 36 5 4 3>
  132    0 0xffffff7f821a6000 0x7000     0x7000     com.FTDI.driver.FTDIUSBSerialDriver (2.3) <116 36 5 4 3 1>

この状況ではFTDI社ドライバが有効になるようで、無事Auto Resetが何度でもできるようになりました。

他の方の記事を見ると、以前は明示的にAppleのドライバを無効にする必要があったようですが、現在では特に何もせずにうまく動くようです。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2