AVR-CDCのコードだと一杯で、一言も足せなかったが・・usbRS232のコードなら足せたのであちこちに
PORTB ^= _BV(0);
ポートB0の反転コードをたたき込んだら、Arduinoがリセットできた。状況を見ると完璧な動きでは無いが・・リセットはかかってる。18バイトほど増えたが・・Tiny2313には書き込み可能だった。
tiny45や、mega48-8のコードには、USE_DCD_REPORTINGと言うファンクションが有ったが、tiny2313にはこれが入らないらしいので・・
static void setInterrupt3(void)
ここの判断に、強制的に、反転コードを入れてしまったが・・
ここにIF文で、DTRに相当する部分を選択すれば、確実に動くと思う。
要検討ってとこららしい。
Arduino等のマイコンにリセット信号を送るには、DTR相当の動作だけしてくれればいいわけだからなんとかなると思う。
Arduinoのリセット回路に関して、色々サイトに書かれてるが・・色々調べてたら、10年以上前の、PICのブートローダーの回路に同じ物が有った。(私は、このブートローダーをPICに採用してるが・・)新しい回路でも何でも無く・・イタリア人が野蛮だからでも無い、枯れた実績の有る回路なんだと思う。
アマチアとしては、あんまり努力しないで作れる回路が嬉しいから、色々応用の利く便利な回路だと思ってる。
DTR信号が出せるUSBRS232変換アダプタの種類が増えたのは結構嬉しい。
6KBのコードを送ると、なぜか行き詰まる、PIC18F14K50も有る事は有るし・・mega8u2も有るし・・これで自作ブートローダー互換のUSB-RS232チップは、350-90円の中に収まる事になる。
いわゆるArduinoで癪に障ってた・・USB-シリアル変換チップの方が、ATmega328Pより高いって言う部分は、かなり解消したと思ってる。
結果的に、今私の所で、Arduinoのシリアルに対応出来るチップは・・
FTDI FT232
ATmega8u2
ATmega32u2
ATmega8-328P
tiny85
tiny45
tiny2313
pic18F14K50
と選べるようになった。限界速度は有るので、ブートローダーの再ビルドは必要だが・・大きさや組み立てやすさを選べるのは嬉しい。組み込んでしまう場合の価格も検討出来るようになったと思う。
Tiny2313版・・一応出来たみたい、やけにLEDのレスポンスが遅いが・・規定の動作をしてる。リセットにかかってる時間が長い可能性が有るが・・この辺は、ブートローダーが、初期のネゴジエーション時に、どれくらい余裕持たせてるかで結果が違うだろうとは思う。
どのみち予感では、あんまり長いデーターを、送ると化けるとは思う。
ブートローダーが入った状態で、残600Byteしか無い、tiny13や、3.6KB残のtiny48位で使えればいいのだが・・
あまり高速にしなければ、問題無いかも知れない。微妙なとこ
PORTB ^= _BV(0);
ポートB0の反転コードをたたき込んだら、Arduinoがリセットできた。状況を見ると完璧な動きでは無いが・・リセットはかかってる。18バイトほど増えたが・・Tiny2313には書き込み可能だった。
tiny45や、mega48-8のコードには、USE_DCD_REPORTINGと言うファンクションが有ったが、tiny2313にはこれが入らないらしいので・・
static void setInterrupt3(void)
ここの判断に、強制的に、反転コードを入れてしまったが・・
ここにIF文で、DTRに相当する部分を選択すれば、確実に動くと思う。
要検討ってとこららしい。
Arduino等のマイコンにリセット信号を送るには、DTR相当の動作だけしてくれればいいわけだからなんとかなると思う。
Arduinoのリセット回路に関して、色々サイトに書かれてるが・・色々調べてたら、10年以上前の、PICのブートローダーの回路に同じ物が有った。(私は、このブートローダーをPICに採用してるが・・)新しい回路でも何でも無く・・イタリア人が野蛮だからでも無い、枯れた実績の有る回路なんだと思う。
アマチアとしては、あんまり努力しないで作れる回路が嬉しいから、色々応用の利く便利な回路だと思ってる。
DTR信号が出せるUSBRS232変換アダプタの種類が増えたのは結構嬉しい。
6KBのコードを送ると、なぜか行き詰まる、PIC18F14K50も有る事は有るし・・mega8u2も有るし・・これで自作ブートローダー互換のUSB-RS232チップは、350-90円の中に収まる事になる。
いわゆるArduinoで癪に障ってた・・USB-シリアル変換チップの方が、ATmega328Pより高いって言う部分は、かなり解消したと思ってる。
結果的に、今私の所で、Arduinoのシリアルに対応出来るチップは・・
FTDI FT232
ATmega8u2
ATmega32u2
ATmega8-328P
tiny85
tiny45
tiny2313
pic18F14K50
と選べるようになった。限界速度は有るので、ブートローダーの再ビルドは必要だが・・大きさや組み立てやすさを選べるのは嬉しい。組み込んでしまう場合の価格も検討出来るようになったと思う。
Tiny2313版・・一応出来たみたい、やけにLEDのレスポンスが遅いが・・規定の動作をしてる。リセットにかかってる時間が長い可能性が有るが・・この辺は、ブートローダーが、初期のネゴジエーション時に、どれくらい余裕持たせてるかで結果が違うだろうとは思う。
どのみち予感では、あんまり長いデーターを、送ると化けるとは思う。
ブートローダーが入った状態で、残600Byteしか無い、tiny13や、3.6KB残のtiny48位で使えればいいのだが・・
あまり高速にしなければ、問題無いかも知れない。微妙なとこ
コメント
コメントを投稿