Permalink
Cannot retrieve contributors at this time
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) | |
https://bokunimo.net/ichigojam/ | |
---------------------------------------------------------------- | |
参考文献 | |
作成にあたり以下の情報を参照しました。 | |
- 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 | |