1

この for ループの解釈を手伝ってください:

for (byte color_bit = 23 ; color_bit != 255 ; color_bit--) {
    ...do something
}

ここの「color_bit」はUNSIGNED変数であることを(GoogleとStackOverflowから)理解していると思います。これは、ループが 23 から 0 までカウントダウンすることを意味します。しかし、次に何が起こるのでしょうか? 255 から開始し、カウントダウンを続けますか? でもテストが「!=255」だから止まる?

私の考えでは、これはロジックのようですが、使用しているツール (Arduino IDE) にはデバッガーがないため、コードをステップ実行して値を確認することはできません。

4

2 に答える 2

1

'byte' が 8 ビット符号なしの場合、ループは bit_color = 23..0 (24 回の繰り返し) になります。color_bit=255 でループが停止します。HTH。

于 2013-05-06T02:35:00.423 に答える
0

以下に示すように、シリアル印刷行を追加できます。

 for (byte color_bit = 23 ; color_bit != 255 ; color_bit--) {
      Serial.print(bit_color, DEC);
 }

カウント シーケンスをテスト/デバッグします。

于 2013-05-07T14:26:06.433 に答える