Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
141 lines (105 sloc) 5.99 KB
IchigoJamのUARTシリアル制御に関する情報
IchigoJamで使用する改行コード
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
LF 0x0A(10)
但し、UART 3にてCR+LFに設定可能
BPS(ビットレート設定)命令
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
BPS 0 デフォルト。115.2kbpsに設定する。
BPS 300 ビットレートを300bpsに設定する。
BPS 9600 ビットレートを9600bpsに設定する。
BPS -1 ビットレートを57.6kbpsに設定する。(※Ver 1.1以降)
BPS -2 ビットレートを38.4kbpsに設定する。(※Ver 1.1以降)
注意:「BPS 115200」を設定しても115.2kbpsにはならない。
注意:この設定はリセットで解除される。
動作確認済みビットレート設定
300 600 1200 4800 9600 14400 19200
特殊なビットレート(動作確認済み)
11520 23040
動作しないことが判明しているビットレート設定
110 34560 38400※ 57600※
※BPS -1と-2は、それぞれ57600bpsと38400bpsに対応(Ver 1.1以降)
UARTモード設定(1)シリアル出力制御
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
UART命令はシリアル通信の送信方法の切換えを行う命令です。
IchigoJam Ver 1.1では新たにカーソル操作などの画面制御コードが
シリアルに出力されるようになりました。UART 1を実行することで、
従来のIchigoJam Ver 1.0と同様のシリアル出力に戻すことができます。
UART 0 IchigoJamからのすべてのUART送信OFF
UART 1 PRINT命令(?命令)のみUART送信(画面制御出力なし)
UART 2 UART画面制御コードを出力(画面制御コード出力)
UART 3 PRINT命令(?命令)のみUART送信・改行コードCR+LF・バッファ有
LC 0,-1 テレビ画面への出力を行わずにUART送信する。
注意:この設定はリセットで解除される。
UART命令はIchigoJam BASIC Ver 1.1以降で使用可能。
便利な使い方
以下の命令で UART 1 を設定するとVer 1.0との互換性が保てる
ifVer()>11006uart1 :'Ver 1.1 UART 1仕様 (11007~)
但し、β版の11001~11005では、UART 1が現UART 2に相当する
UARTモード設定(2)シリアル入力制御・ESC無効モード
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ESC無効モードを設定すると、UARTからESCコードを受信した時にプロ
グラムの停止を抑制することができる(停止できなくなる)。
UART 0,0 IchigoJamからのUART送信と受信の両方をOFF
UART 1,1 UARTの送受信を有効に。ESCも有効。(通常)
UART 1,2 UARTの送受信を有効に。ESCは無効。
  UART 0,4 UARTからのCR入力をLRへ変換する(Ver 1.3候補機能)
UARTの第二パラメータを0にするとシリアル入力(受信)がOFFになる
UARTの第二パラメータを2にするとESC無効モードとなる。
セキュリティを高める効果:
ネットワークに接続した場合に外部からBASICのダイレクトモードにて
コマンドを実行される懸念があるが、ESC無効モードに設定することで
BASICプログラム実行中に外部からプログラムを停止することが出来な
くなる。但し、エラーを発生させて停止させたり、END命令や行番号末
にダイレクトモードなるので、プログラム側に考慮が必要。
注意:この設定はリセットで解除される。
UART命令はIchigoJam BASIC Ver 1.1以降で使用可能。
UART画面制御コード
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
CLS 19, 12 (0x13, 0x0C)
SCROLL 左 21, 28 (0x15, 0x1C)
SCROLL 右 21, 29 (0x15, 0x1D)
SCROLL 上 21, 30 (0x15, 0x1E)
SCROLL 下 21, 31 (0x15, 0x1F)
LOCATE 21, 32+X,32+Y
UART出力方法
 ̄ ̄ ̄ ̄ ̄ ̄
PRINT命令(または?命令)で出力します。
起動メッセージ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
IchigoJamの電源を投入した時やリセットした時に起動メッセージが
出力される。
但し、BTNピンをLにした状態で起動した場合は起動メッセージが
表示されない。(ファイル番号0のプログラムが自動起動する)
UART入力方法
 ̄ ̄ ̄ ̄ ̄ ̄
・キーボードから入力された文字と同じように処理される。
・プログラムではINKEY()関数で入力する。受信なし時は0。
K=INKEY()
・ESCコード(27 0x1B)を受けるとプログラムを停止する。
・DLEコード(16 0x10)を受けると同じ行の文字を消す。
UARTからのBASICコマンド実行方法
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
以下のように送信するとIchigoJamの動作状態・画面の状態に
関わらずにBASICコマンドを実行することができる。
[ESC(27)]+[DLE(16)]+[BASIC命令]
(例) 別のIchigoJamからプログラムを取得する
?CHR$(27,16);"LIST"
(例) アナログポート2の値を取得する
?CHR$(27,16);"?ANA(2)"
(例) プログラムを送信する
?CHR$(27,16);"NEW";CHR$(10);:WAIT30:?CHR$(16);:LIST
----------------------------------------------------------------
ライセンス・著作権表示
本資料を複製・改変・再配布する場合は著作権表示が必要です。
CC BY (C) 2015-2017 国野亘 (Wataru KUNINO)
www.geocities.jp/bokunimowakaru/q/15/
----------------------------------------------------------------
参考文献
作成にあたり以下の情報を参照しました。
- http://ichigojam.net/IchigoJam.html
CC BY http://ichigojam.net/
- Facebook IchigoJam-FANグループ
https://www.facebook.com/groups/ichigojam/
- fu-sen/IchigoJam-BASIC
https://github.com/fu-sen/IchigoJam-BASIC/blob/master/UART.txt