RS受信
【機能】
RS-232Cポートからデータを受信します。
【関数】
int RsRecv( char *data, int *size )
|
{
|
return trapa_svc( 0x43, pid, data, size );
|
}
|
【入力】
data
| 受信データ
| 受信データを格納する領域の先頭アドレス
|
size
| 受信バッファのバイト数
| 受信バッファのバイトサイズが格納されている領域のアドレス
(受信データを格納する領域の大きさ)
|
| +0
+1
+2
+3
| | | |
size+00
格納領域のサイズ(バイト)がセットされている領域のアドレス
| |
【出力】
| +0
+1
+2
+3
| | | |
size+00
格納した受信バイト数
| |
| ERR_PARAM
| パラメータエラー
|
| ERR_RSCLOSED
| オープンされていない
|
| ERR_RSOER
| オーバランエラー
|
| ERR_RSFER
| フレーミングエラー
|
| ERR_RSPER
| パリティエラー
|
【解説】
システム内のRS-232C受信バッファよりデータを取り出し、指定された領域に格納すると共に、格納したバイト数を返します
受信可能データサイズの入力、および受信したデータサイズの出力はポインタ経由で行います。
システム内部の受信バッファは32キロバイトですので、一度に最大32キロバイトの転送が可能です。なお、システムの持つ受信バッファの状態は「RSバッファ量取得」ファンクションで確認することができます。
格納エリアが受信バッファのデータ量よりも大きい場合、全て転送して転送したバイト数を返します。
格納エリアが受信バッファのデータ量より小さい場合、格納エリアのサイズ分転送して転送したバイト数を返します。
受信データを格納する領域の先頭アドレスがNULLの場合、受信データ格納領域のバイト数が0の場合、パラメータエラーを返します。
【関連項目】
RSバッファ量取得