シリアル通信の例を記載します。
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 |
Kf(_serial){ Pe{ /*キーステーションが最初に実行するキーセット*/ N(_main); } } K(_main){ De{ (key)._serialportman; } U{ R("シリアル通信") R5(#disp) Pe{ /*シリアルポート名を取得*/ (key)serialports= getSerialPortNames(); /* 0:serialportman 1:ポート名 2:ボーレート 3:データビット 4:パリティビット 0:None パリティ チェックが行われません。 1:Odd ビット セットの数が奇数になるように、パリティ ビットを設定します。 2:Even ビット セットの数が偶数になるように、パリティ ビットを設定します。 3:Mark パリティ ビットを常に 1 に設定します。 4:Space パリティ ビットを常に 0 に設定します。 5:ストップビット 0:None パリティ チェックが行われません。 1:One 1 ストップ ビットを使用します。 2:Two 2 ストップ ビットを使用します。 3:OnePointFive 1.5 ストップ ビットを使用します。 6:文字コード 7:ハンドシェイク 0:None ハンドシェイクには制御が使用されません。 1:XOnXOff XON/XOFF ソフトウェア制御プロトコルが使用されます。 2:RequestToSend 送信要求 (RTS: Request-to-Send) ハードウェア フロー制御が使用されます。 3:RequestToSendXOnXOff RTS ハードウェア制御と、XON/XOFF ソフトウェア制御の両方が使用されます。 8:改行コード 9:自動接続(0:off 1:on) */ ._serialportman?=manOpen("serialportman",serialports[0]?,9600,8,0,1,"ascii",0,"\r\n",1); ._serialportman?%setReceiver(#me/<#_NCSReceiver); ._serialportman?%start(); ._serialportman?%send("IN2"); } X Pe((str)#_NCSReceiver,(str)msg){ #disp?=msg; } Pd{ if(._serialportman?!=null){ ._serialportman?%close(); } } } } |