受信

onreceive関数を指定することで相手からデータを受け取ることができます。設定する関数では引数にdataとtextが渡されます。dataは受信したバイト列でtextはそのdataを可能な限り文字列に変換したものとなります。textへの変換に失敗した場合はtextはundefinedとなります。

var uart = obniz.getFreeUart();
uart.start({tx:0, rx:1})
uart.onreceive = function(data, text) {
  console.log(data);
  console.log(text);
}

UARTはデータに「長さ」という情報はありません。100バイトの情報を送ったときに100バイト受信するとは限りません。20バイトと80バイトの2回に分けられることがあります。

オーバーフロー

デバイスの通信速度が足りないときに受信したuartのデータを送りきれない場合があります。現在そのような場合にはエラーとならず受信データを失うこととなります。