forked from fu-sen/IchigoJam-BASIC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathI2CR.txt
executable file
·51 lines (42 loc) · 2.22 KB
/
I2CR.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
I2CR
IchigoJam BASIC 0.9.9~
IchigoJam BASIC RPi
IchigoJam PC 非対応
-----------------------------------------------------------
[ 機能 ]
I2C シリアルバスで接続されたデバイスからデータを取り出し、
メモリに格納します。
[ コマンド 書式 ]
<返し値>=I2CR(<I2C アドレス>,<コマンド開始番地>,<コマンド長さ>,<読込メモリ開始番地>,<読込メモリ長さ>)
<返し値>=I2CR(<I2C アドレス>,[<コマンド開始番地>,<コマンド長さ>,]<読込メモリ開始番地>,<読込メモリ長さ>) (1.2b42~)
[ 例 ]
R=I2CR(`1010000,#700,2,#702,16)
R=I2CR(`1010000,#700,16) (1.2b42~)
[ 解説 ]
<I2C アドレス> は I2C 経由で情報を得るデバイスです。
I2C デバイスには A0~A2 端子の接続に応じて
固有のスレープアドレスを持ちます。これを指定します。
値は 0~127(`0000 000 ~ `1111 111)です。
これに READ/WRITE ビットの READ を付加し送信した後、
デバイスからの受信を得ます。
READ/WRITE ビットを含めない値になる事にご注意下さい。
次に <コマンド開始番地> から <コマンド長さ> にある
コマンドを実行します。
コマンドは POKE で予め用意して下さい。
その後 I2C から得たデータを <読込メモリ開始番地> から
<読込メモリ長さ> で収納します。
格納した情報は PEEK で実際の値を取得して下さい。
<コマンド開始番地> <読込メモリ開始番地> は
IchigoJam のメモリの場所です。
<コマンド長さ> <読込メモリ長さ> は
バイト単位で長さを示します。
1.0.0 beta2 まで採用されていた I2C は
1.0.0 beta3 ではこの I2CR と I2CW に変更されました。
I2C を用いていたプログラムは変更するか、
VER() を用いてコマンドを分けて下さい。
1.0.0 beta11 で Esc キーを押す事で
受信の中断を行えるようになりました。
1.2b42 より、<コマンド開始番地> <コマンド長さ> を
省略できるようになりました。
これによりコマンドに関係なく、
任意のデータを受信できるようになりました。