目次

2022-05-24 22:30 時点における版

 
--- parent: SketchWriter title: SketchWriterの使い方 date: 2016-12-8 --- ここでは, SketchWriterの基本的な使い方を説明します. 説明項目は以下のとおりです. * SketchWriterのしくみ * HexFileの入手 * スケッチの送信 === # SketchWriterのしくみ 緑色字:変数 \ 黄色字: 関数 \ ![SketchWriterのしくみ](CURRENT_DIR/Images/SketchWriter/Img6.png) # HexFileの入手 ここでは、HexFileを入手する方法を説明します。 HexFileを手に入れるには設定をする必要があります。 # ArduinoIDEの上のバー"ツール"→"ボード"→"Arduino UNO"を選択 optibootが書き込まれているArduinoを選ぶ必要があります。ここではArduinoUNOにしました。 # ArduinoIDEの上のバー"ファイル"→"環境設定"→"preferences.txt"をクリック→"preferences.txt"を開く これはより詳しい設定をする場合に使用します。 # ArduinoIDEを閉じる これをしないと設定が変更されません。 # "preferences.txt"の末尾に次の一行を追加 ```cpp build.path=C:\Users\UserName\Documents\WorkSpace\Arduino\temp ``` "="以下の絶対パスは各自で設定してください。 # スケッチを開く→コンパイルボタンをおす これで上で設定したディレクトリにHexFileが作成されます。 # スケッチの送信 それではさっそくスケッチをパソコンを使わずに書き込んでみましょう! ArduinoIDEにあるスケッチの例"Blink"をHexFileにしてSDカードに保存します。そのHexFileを用いてArduinoでArduinoにスケッチ"Blink"を書き込んでみます。 # 手順 ここからはスケッチを書き込むほうのArduinoをArduinoA, スケッチを書き込まれるほうのArduinoをArduinoBとします。 # スケッチBlink"―LEDが点滅するプログラム―をHexFileにします # ArduinoAとArudinoBを接続します # ArduinoAとSDカードを接続します # ArduinoAにプログラムを書き込みます 以下のプログラムをArduinoAに書き込んでください。ここはさすがにパソコンを使います ```cpp #include <SD.h> #include <SPI.h> #include "SketchWriter.h" //インスタンス生成 SketchWriter sketchWriter; void setup() { //SketchWriterを開始します*7_1 sketchWriter.Begin(10); sketchWriter.SetResetPin(6); //HexFileをロードします*7_2 sketchWriter.SketchLoad("Blink.hex"); } void loop() { //10秒待機 delay(10000); //ArduinoBにリセットをかけます; optibootが起動します. sketchWriter.ResetArduino(6); //optibootが起動しているか確認します.*7_3 sketchWriter.GetSync(); //読み込んだHexFileのデータをoptibootに送信します; スケッチが書き込まれます. sketchWriter.SketchWrite(); //optibootにプログラムを実行するよう命令します. sketchWriter.AppStart(); //開いていたHexFileを閉じます.*7_4 sketchWriter.SketchClose(); while(1); } ``` # 説明 # *7_1 ここでは,SDカードのチップセレクトピンを10番ピンに設定, ArduinoBにリセット信号を送信するピンを6番ピンに設定しています. ArduinoBのリセットピンとこのピンをつなぐことになります. # *7_2 ファイル名は6文字+"."+3文字である必要があります;SDライブラリの仕様上. 詳しくは"Arduino日本語リファレンス"を参照してください. # *7_3 ArduinoBにリセットをかけた後に一回実行するとよいでしょう. optibootが起動していない―命令を受け付けていない―ときにHexFileのデータを送ることはできません. # *7_4 開いていたHexFileを閉じたあと別のHexFileを開くことができます. # Arduino_Aにプログラム書き込みその十秒後Arduino_Bにスケッチ"Blink"が書き込まれます
「https://www.contentsviewer.work/Master/Arduino/UsageSketchWriter?cmd=history&rev=1653399058」から取得