Rs-232c-1 0x43


RS受信


【機能】

 シリアルポートからデータを受信します。

【関数】

 int RsRecv( char *data, int *size )
 {
   return trapa_svc( 0x43, pid, data, size );
 }

【入力】

 data 受信データ 受信データを格納する領域の先頭アドレス
 size 受信バッファのバイト数 受信バッファのバイトサイズが格納されている領域のアドレス
(受信データを格納する領域の大きさ)

+0
+1
+2
+3
size+00
格納領域のサイズ(バイト)がセットされている領域のアドレス

【出力】

 リターンコード OK 正常終了
+0
+1
+2
+3
size+00
格納した受信バイト数

ERR_PARAM パラメータエラー
ERR_RSCLOSED オープンされていない
ERR_RSOER オーバランエラー
ERR_RSFER フレーミングエラー
ERR_RSPER パリティエラー

【解説】

 システム内のシリアル受信バッファよりデータを取り出し、指定された領域に格納すると共に、格納したバイト数を返します
 受信可能データサイズの入力、および受信したデータサイズの出力はポインタ経由で行います。

 システム内部の受信バッファは32キロバイトですので、一度に最大32キロバイトの転送が可能です。なお、システムの持つ受信バッファの状態は「RSバッファ量取得」ファンクションで確認することができます。

 格納エリアが受信バッファのデータ量よりも大きい場合、全て転送して転送したバイト数を返します。
 格納エリアが受信バッファのデータ量より小さい場合、格納エリアのサイズ分転送して転送したバイト数を返します。

 受信データを格納する領域の先頭アドレスがNULLの場合、受信データ格納領域のバイト数が0の場合、パラメータエラーを返します。

【関連項目】

 RSバッファ量取得