enum
を使用してデバイスの状態を変更したいので、arduinoの問題に直面していますが、動作しないと思われるので、私のコードは以下のようになります。私はそれが間違っていることを完全にはわかっていない、私はまた、settingTo
とtoP2P
の間の比較が間違っていると思いますか?arduinoで列挙型を比較するには?
ありがとうございます!
String toP2P = "503250"
String toABP = "414250";
String settingTo = LoRa_Tx.dataRX.substring(indx);
if(settingTo == toP2P) {
//switching to P2P
Serial.println("current mode 1 "+(String) LoRa_Tx.current_modeRxTx);
if(LoRa_Tx.current_modeRxTx != LoRa_Tx.LoRaMod){
LoRa_Tx.current_modeRxTx = LoRa_Tx.LoRaMod;
}
} else if(settingTo == toABP){
//switching to ABP
if(LoRa_Tx.current_modeRxTx != LoRa_Tx.LoRaWan){
LoRa_Tx.current_modeRxTx = LoRa_Tx.LoRaWan;}
}
}
私のクラスには、それが最終的に問題を引き起こすだろうと、あなたは、String
クラスを避ける必要があり、enum
は、一般的には
typedef enum modeRxTx{LoRaMod, LoRaWan, Idle} ;
modeRxTx current_modeRxTx = Idle;
コンパイラは警告を発しますか? – purplepsycho
'settingTo'に含まれるデータを印刷できますか? – purplepsycho
@purplepsychoそうではありません – ndarkness