BASIC compiler/interpreter for PIC32MX/MZ-80K
Revisión | a4a1f25de68dce7d4794f0fe50221a7ef508ac7f (tree) |
---|---|
Tiempo | 2019-02-18 11:48:19 |
Autor | Katsumi <kmorimatsu@sour...> |
Commiter | Katsumi |
Class CIOEX ver 0.12
@@ -1,4 +1,4 @@ | ||
1 | -REM CIOEX.BAS ver 0.11 | |
1 | +REM CIOEX.BAS ver 0.12 | |
2 | 2 | REM Class CIOEX for MachiKania Type M |
3 | 3 | REM using I/O expander MCP23017 |
4 | 4 |
@@ -13,7 +13,7 @@ REM (default 400) | ||
13 | 13 | METHOD INIT |
14 | 14 | REM Address setting |
15 | 15 | if 1<=args(0) then ADDR7=args(1) else ADDR7=0 |
16 | - ADDR7=0x20 | (ADDR7 and 0x07) | |
16 | + ADDR7=0x20 OR (ADDR7 and 0x07) | |
17 | 17 | REM Initialize I2C |
18 | 18 | if 2<=args(0) then I2C args(2) else I2C 400 |
19 | 19 | REM Initialize MCP23017 |
@@ -40,7 +40,7 @@ REM TRISA x: Set byte value | ||
40 | 40 | REM TRISA x,y: Set bit value |
41 | 41 | METHOD TRISA |
42 | 42 | if args(0)=0 then return TRISAV |
43 | - if args(1)=1 then | |
43 | + if args(0)=1 then | |
44 | 44 | gosub SET8,&TRISAV,0x00,args(1) |
45 | 45 | else |
46 | 46 | gosub SETBIT,&TRISAV,0x00,args(1),args(2) |
@@ -52,7 +52,7 @@ REM TRISB x: Set byte value | ||
52 | 52 | REM TRISB x,y: Set bit value |
53 | 53 | METHOD TRISB |
54 | 54 | if args(0)=0 then return TRISBV |
55 | - if args(1)=1 then | |
55 | + if args(0)=1 then | |
56 | 56 | gosub SET8,&TRISBV,0x01,args(1) |
57 | 57 | else |
58 | 58 | gosub SETBIT,&TRISBV,0x01,args(1),args(2) |
@@ -64,7 +64,7 @@ REM LATA x: Set byte value | ||
64 | 64 | REM LATA x,y: Set bit value |
65 | 65 | METHOD LATA |
66 | 66 | if args(0)=0 then return LATAV |
67 | - if args(1)=1 then | |
67 | + if args(0)=1 then | |
68 | 68 | gosub SET8,&LATAV,0x14,args(1) |
69 | 69 | else |
70 | 70 | gosub SETBIT,&LATAV,0x14,args(1),args(2) |
@@ -76,7 +76,7 @@ REM LATB x: Set byte value | ||
76 | 76 | REM LATB x,y: Set bit value |
77 | 77 | METHOD LATB |
78 | 78 | if args(0)=0 then return LATBV |
79 | - if args(1)=1 then | |
79 | + if args(0)=1 then | |
80 | 80 | gosub SET8,&LATBV,0x15,args(1) |
81 | 81 | else |
82 | 82 | gosub SETBIT,&LATBV,0x15,args(1),args(2) |
@@ -88,7 +88,7 @@ REM CNPUA x: Set byte value | ||
88 | 88 | REM CNPUA x,y: Set bit value |
89 | 89 | METHOD CNPUA |
90 | 90 | if args(0)=0 then return CNPUAV |
91 | - if args(1)=1 then | |
91 | + if args(0)=1 then | |
92 | 92 | gosub SET8,&CNPUAV,0x0C,args(1) |
93 | 93 | else |
94 | 94 | gosub SETBIT,&CNPUAV,0x0C,args(1),args(2) |
@@ -100,7 +100,7 @@ REM CNPUB x: Set byte value | ||
100 | 100 | REM CNPUB x,y: Set bit value |
101 | 101 | METHOD CNPUB |
102 | 102 | if args(0)=0 then return CNPUBV |
103 | - if args(1)=1 then | |
103 | + if args(0)=1 then | |
104 | 104 | gosub SET8,&CNPUBV,0x0D,args(1) |
105 | 105 | else |
106 | 106 | gosub SETBIT,&CNPUBV,0x0D,args(1),args(2) |
@@ -1,6 +1,6 @@ | ||
1 | 1 | <クラス名およびバージョン> |
2 | 2 | CIOEX |
3 | -ver 0.11 | |
3 | +ver 0.12 | |
4 | 4 | |
5 | 5 | <ファイル名> |
6 | 6 | CIOEX.BAS |
@@ -23,60 +23,60 @@ TRISA() | ||
23 | 23 | 現在のTRISA値を返す。TRIS値は、ポートを入力で使うか出力で使うかの値で、ビッ |
24 | 24 | トごとに1で入力、0で出力。デフォルトは、0xFF(全て入力)。 |
25 | 25 | |
26 | -TRISA x | |
26 | +TRISA(x) | |
27 | 27 | TRISA値を、8ビットの値、xで指定。 |
28 | 28 | |
29 | -TRISA x,y | |
29 | +TRISA(x,y) | |
30 | 30 | TRISA値の、下位からxビット目を、yに指定。 |
31 | 31 | |
32 | 32 | TRISB() |
33 | 33 | 現在のTRISB値を返す。TRIS値は、ポートを入力で使うか出力で使うかの値で、ビッ |
34 | 34 | トごとに1で入力、0で出力。デフォルトは、0xFF(全て入力)。 |
35 | 35 | |
36 | -TRISB x | |
36 | +TRISB(x) | |
37 | 37 | TRISB値を、8ビットの値、xで指定。 |
38 | 38 | |
39 | -TRISB x,y | |
39 | +TRISB(x,y) | |
40 | 40 | TRISB値の、下位からxビット目を、yに指定。 |
41 | 41 | |
42 | 42 | LATA() |
43 | 43 | 現在のLATA値を返す。LAT値は、ポートを出力で使う場合の出力値で、ビットごと |
44 | 44 | に設定。デフォルトは、0x00(全て0を出力)。 |
45 | 45 | |
46 | -LATA x | |
46 | +LATA(x) | |
47 | 47 | LATA値を、8ビットの値、xで指定。 |
48 | 48 | |
49 | -LATA x,y | |
49 | +LATA(x,y) | |
50 | 50 | LATA値の、下位からxビット目を、yに指定。 |
51 | 51 | |
52 | 52 | LATB() |
53 | 53 | 現在のLATB値を返す。LAT値は、ポートを出力で使う場合の出力値で、ビットごと |
54 | 54 | に設定。デフォルトは、0x00(全て0を出力)。 |
55 | 55 | |
56 | -LATB x | |
56 | +LATB(x) | |
57 | 57 | LATB値を、8ビットの値、xで指定。 |
58 | 58 | |
59 | -LATB x,y | |
59 | +LATB(x,y) | |
60 | 60 | LATB値の、下位からxビット目を、yに指定。 |
61 | 61 | |
62 | 62 | CNPUA() |
63 | 63 | 現在のCNPUA値を返す。CNPU値は、ポートを入力で使う場合のプルアップの設定で、 |
64 | 64 | ビットごとに1で使用、0で不使用。デフォルトは、0x00(全て不使用)。 |
65 | 65 | |
66 | -CNPUA x | |
66 | +CNPUA(x) | |
67 | 67 | CNPUA値を、8ビットの値、xで指定。 |
68 | 68 | |
69 | -CNPUA x,y | |
69 | +CNPUA(x,y) | |
70 | 70 | CNPUA値の、下位からxビット目を、yに指定。 |
71 | 71 | |
72 | 72 | CNPUB() |
73 | 73 | 現在のCNPUB値を返す。CNPU値は、ポートを入力で使う場合のプルアップの設定で、 |
74 | 74 | ビットごとに1で使用、0で不使用。デフォルトは、0x00(全て不使用)。 |
75 | 75 | |
76 | -CNPUB x | |
76 | +CNPUB(x) | |
77 | 77 | CNPUB値を、8ビットの値、xで指定。 |
78 | 78 | |
79 | -CNPUB x,y | |
79 | +CNPUB(x,y) | |
80 | 80 | CNPUB値の、下位からxビット目を、yに指定。 |
81 | 81 | |
82 | 82 | PORTA() |