私は今Arduinoプロジェクトに取り組んでいます。何それがないことは基本的にはこれです:Arduino/C++ GlobalVarsとローカル変数
- は、解析は、このデータを使用して
- ドローTFT画面上でデータを受信PC
- からのシリアルデータを読み込みます。
私の現在のアプローチでは、グローバル変数を頻繁に使用しています。それらがなければ、3レベルの変数を渡すネストされた関数を使用する必要があります。それは、どのアプローチがパフォーマンス面で優れているかを考えさせました。ここに2つの例があります。ローカル
まず:
void setup() {
Serial.begin(9600);
Serial.println(firstFunction(10));
}
int firstFunction(int val)
{
return secondFunction(val+1);
}
int secondFunction(val)
{
return thirdFunction(val+1);
}
int thirdFunction(val)
{
return val + 1;
}
グローバル:物事のPC側で
int x; //global var
void setup() {
Serial.begin(9600);
firstFunction(10);
Serial.println(x);
}
void firstFunction(int val)
{
x = val;
x += 1;
secondFunction();
}
void secondFunction()
{
x++;
thirdFunction();
}
void thirdFunction(val)
{
x++;
}
、使用してグローバルは、一般的に眉をひそめるされています。しかし、私の理解は、主にスタイルとスケーラビリティの理由です。
あなたの意見は?