-
Notifications
You must be signed in to change notification settings - Fork 0
/
UART_ControlCode.txt
140 lines (105 loc) · 5.99 KB
/
UART_ControlCode.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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