instance method Plato::Serial#read

read(len=nil, type=:as_array) -> Array | String

シリアルI/Fデバイスから読み込んだデータを返します。

引数  
len=nil 読み込むデータの最大サイズ(バイト数)を指定します。シリアルI/Fデバイスが受信しているデータ長がlenより短い場合は受信待ちは行わず、受信しているデータを返します。nil(デフォルト)が指定された場合はシリアルI/Fデバイスが受信しているデータを全て読み込みます。
type=:as_array 戻り値のデータ形式を指定します。:as_array(デフォルト)が指定された場合はバイト配列(数値の配列)、:as_stringが指定された場合はStringの形式で返されます。
戻り値  
Array | String シリアルI/Fデバイスから読み込んだデータがArrayまたはStringの形式で返されます。

例:

Plato::Serial.register_device(PlatoEnzi::Serial)    # enziボードのシリアルI/Fデバイスクラスを登録します
ser = Plato::Serial.open(9600, 8, 1, 1, :none)      # enziボードに接続されたシリアルI/Fデバイスをオープンします
loop {
  while ser.available < 10
    Plato::Machine.delay(10)
  end
  da = ser.read(2)                # シリアルI/Fデバイスから2バイト読み込み、配列で取得します
  ds = ser.read(8, :as_string)    # シリアルI/Fデバイスから8バイト読み込み、文字列で取得します
}