私はまだマイクロプロセッサで使用される C を学んでいます。最初は、多くのグローバルを使用していました。今はできる限り回避しようとしていますが、これを行う方法が常に明確であるとは限りません。
たとえば、バッテリー モニターの場合、変数の読み取りまたは変更が必要な関数が 4 つあります。これらの関数はすべて、変数 LowVoltage を使用しています。
void Check_Voltage(){
checks current voltage against LowVoltage
}
void Menu_Voltage(){
a menu on the LCD screen to set the value of LowVoltage
}
void Save_LowVoltage(){
runs after the settings menu is finished to save LowVoltage to EEPROM
}
void Load_LowVoltage(){
reads EEPROM and sets LowVoltage at startup
}
- Check_Voltage() と Save_LowVoltage() は LowVoltage を読み取る必要があります。
- Load_LowVoltage() は LowVoltage を書き込む必要があります。
- Menu_Voltage() は LowVoltage を読み書きする必要があります。
LowVoltageをグローバルにせずにどうすればこれを機能させることができますか?? LowVoltage を読み書きするために別の関数を作成する必要がありますか? このようなもの:
unsigned int Low_Voltage(short Get, unsigned int Value){
static unsigned int LowVoltage;
if(Get) return LowVoltage;
else LowVoltage= Value;
}
または、これを行うためのより良い方法はありますか? あるに違いないと思います:)最近、構造について読んでいますが、正直に言うと、それらを完全には理解しておらず、このような場合に役立つかどうかさえわかりませんか?