タグ付けされた質問 「c-preprocessor」

4
const int、enum、または#defineがはるかに理にかなっているときにピンにint変数を使用する理由
コードの実行中にピンが変更される可能性が低いのに、なぜ人々が変数を使用してピン番号を指定するのですか? 多くのint場合、ピン定義に使用されていることがわかりますが、 int led = 13; 使用するとき const int const int led = 13; またはenum、または#define #define LED 13 はるかに理にかなっています。 Arduinoサイトのチュートリアル(たとえば、ほとんどの人が実行する最初のチュートリアルBlink)にもあります。 私はそれconst intが好まれるどこかを読んだ#define。なぜ最初から人々が悪い習慣を身につけることを許すのではなく、これが最初から奨励されていないのですか?しばらく前に気づきましたが、最近私をいらいらさせ始めました。 メモリ/賢明なコンピューティングです/処理const int、enumまたはそのことについては#define、より良い平野よりint、すなわちに格納し、少ないメモリを占有する異なるメモリ(フラッシュ、EEPROM、SRAM)、実行速度が速く、迅速にコンパイルするには? これはの複製のように見えるかもしれませんが、定数に#defineまたはconst intを使用する方が良いでしょうか?しかし、私は人々が変数を使用する理由と、どのタイプの定数が優れているかではなく、変数を使用しない場合のパフォーマンスをどのように改善するかという問題に取り組んでいます。

4
Arduinoボードプリプロセッサのリスト#defines
Arduino IDE内でボードを選択すると、プリプロセッサ定義が舞台裏のファイルの1つに追加されます。 多くの狩猟と幸運の後、私はこの定義の形式が次のとおりであることを発見しました: #define ARDUINO_<PROCESSOR-DESCRIPTOR>_<BOARDNAME> 簡単に推測できるものもありますが(ARDUINO_AVR_UNOたとえば)、他のものはそうではありません。プロマイクロでは、速度に応じて、定義に「16」または「8」が追加されています。5Vと3.3Vで定義が異なるかどうかはわかりません。Mega2560の定義を推測することはできませんでしたが、明白なことは何もありません。 質問1:可能な定義の存在にリストはありますか? 質問2:BoardX -5VとBoardX -3.3Vの間で、コンパイルとプリプロセッサの関与に関する違いはありますか?この違いはどのように定義されていますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.