最近TINY BASICが流行っているようなのでちょっとやってみる。
鈴木哲哉氏が開発したTINY BASICを使わせてもらいます。
命名-豊四季タイニーBASIC(電脳伝説 Vintagechips)
以下からTTB_Arduino.zipをダウンロードする。
豊四季タイニーBASICのリファレンスを公開(電脳伝説 Vintagechips)
開発環境はArduino IDE 1.7.2を使用。Arduino.orgの方からダウンロード。
New Arduino IDE 1.7.2
以下、動作環境はMacOSX 10.10 Arduino IDE 1.7.2
まずはArduino Leonardoで動作確認。先ほどのTTB_Arduino.zipを展開し、Arduino IDE 1.7.2で展開したフォルダ内のTinyBASIC.inoを開く。
マイコンとシリアルポートを指定し、書き込み。シリアル通信で確認。特に問題なし。
次にArduino MEGA 2560を指定して動作確認。これもOK。
さて、Arduino Zero Pro / Arduino Due だが、これらを指定してコンパイルすると以下のエラーが出た。
該当する箇所(一部)はこのようになっている。indexはポインタなので、AVR系ではshortでもARM系では違う模様。
index = *cip;
...
index = (short)lstk[lstki - 1];
次の様に書き換えた。これでコンパイルしたらエラーなし。
index = (uintptr_t)lstk[lstki - 1];
ついでにsetup()のシリアルポートを準備する所で
while(!Serial);
を追加した。
修正後のソース:
https://gist.github.com/houmei/a078fb52f5309846b3d2
Arduino Dueで、マイコンをArduino Due(Programming Port)に指定して書き込み。動作OK。
しかし、コンパイルと書き込みはできてもArduino Zero Proは何も応答しなかった。これはあとで。
おまけ:複数のマイコンボードを接続して調べた今回は、このような電源スイッチ付のUSBハブが便利だった。

鈴木哲哉氏が開発したTINY BASICを使わせてもらいます。
命名-豊四季タイニーBASIC(電脳伝説 Vintagechips)
以下からTTB_Arduino.zipをダウンロードする。
豊四季タイニーBASICのリファレンスを公開(電脳伝説 Vintagechips)
開発環境はArduino IDE 1.7.2を使用。Arduino.orgの方からダウンロード。
New Arduino IDE 1.7.2
以下、動作環境はMacOSX 10.10 Arduino IDE 1.7.2
まずはArduino Leonardoで動作確認。先ほどのTTB_Arduino.zipを展開し、Arduino IDE 1.7.2で展開したフォルダ内のTinyBASIC.inoを開く。
マイコンとシリアルポートを指定し、書き込み。シリアル通信で確認。特に問題なし。
次にArduino MEGA 2560を指定して動作確認。これもOK。
さて、Arduino Zero Pro / Arduino Due だが、これらを指定してコンパイルすると以下のエラーが出た。
In file included from TinyBASIC.ino:23:0:ttbasic.h: In function 'unsigned char* iexe()':ttbasic.h:1107:36: error: cast from 'unsigned char*' to 'short int' loses precision [-fpermissive]index = (short)lstk[lstki - 1];^ttbasic.h:1113:36: error: cast from 'unsigned char*' to 'short int' loses precision [-fpermissive]vstep = (short)lstk[lstki - 2];^ttbasic.h:1116:34: error: cast from 'unsigned char*' to 'short int' loses precision [-fpermissive]vto = (short)lstk[lstki - 3];^
該当する箇所(一部)はこのようになっている。indexはポインタなので、AVR系ではshortでもARM系では違う模様。
index = *cip;
...
index = (short)lstk[lstki - 1];
次の様に書き換えた。これでコンパイルしたらエラーなし。
index = (uintptr_t)lstk[lstki - 1];
ついでにsetup()のシリアルポートを準備する所で
while(!Serial);
を追加した。
修正後のソース:
https://gist.github.com/houmei/a078fb52f5309846b3d2
Arduino Dueで、マイコンをArduino Due(Programming Port)に指定して書き込み。動作OK。
しかし、コンパイルと書き込みはできてもArduino Zero Proは何も応答しなかった。これはあとで。
おまけ:複数のマイコンボードを接続して調べた今回は、このような電源スイッチ付のUSBハブが便利だった。

![]() | ELECOM USBハブ USB2.0対応 個別スイッチ付 バスパワー シール付 4ポート ブラック U2H-YS4BBK エレコム 2010-12-09 売り上げランキング : 10111 Amazonで詳しく見る by G-Tools |
