アプリ版:「スタンプのみでお礼する」機能のリリースについて

arduino
http://d.hatena.ne.jp/kougaku-navi/20140501/p1
のサイトで
if ( Serial.available() >= sizeof('H') + sizeof(int) ) {
がわかりません。
どなたかこの H について教えてください。
またかっこでintっちゅうのもわかりません。intって名前なかったんじゃぁ。

よろしくお願いします。

A 回答 (1件)

>if ( Serial.available() >= sizeof('H') + sizeof(int) ) {


>がわかりません。
>どなたかこの H について教えてください。

’H’という1文字を送るのに何バイトか…という算出に使っているものと思います。
が……'H'だと文字リテラルになりますが、環境によってはint型に拡張される場合も…
その場合は正しい値にならないことになるんですが…arduinoの場合にどうなるのかは未確認です。

>またかっこでintっちゅうのもわかりません。intって名前なかったんじゃぁ。

int型が何バイトか…というのに使います。
なので……ヘッダのHの文字とint型でデータサイズの受信まで終わっていないとその条件式は真にならない。
ということに。
# 実際にはヘッダとして'a'とか送信してもいいわけですが、その後の処理で「読み捨てられ」ます。
    • good
    • 0
この回答へのお礼

助かりました

丁寧にありがとうございます。よくわかりました。

お礼日時:2017/05/17 19:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!