私はArduinoのライブラリ「仮想ワイヤ」を理解しようとしていたと私は、このコードに走った:このビット単位のXORのポイントは何ですか?
static uint8_t vw_ptt_pin = 10;
static uint8_t vw_ptt_inverted = 0;
// ...
void vw_set_ptt_pin(uint8_t pin)
{
vw_ptt_pin = pin;
}
void vw_set_ptt_inverted(uint8_t inverted)
{
vw_ptt_inverted = inverted;
}
// ...
void vw_tx_start()
{
// ...
digitalWrite(vw_ptt_pin, true^vw_ptt_inverted);
// ...
}
void vw_tx_stop()
{
// ...
digitalWrite(vw_ptt_pin, false^vw_ptt_inverted);
// ...
}
彼はtrue^vw_ptt_inverted
とfalse^vw_ptt_inverted
を使用していますなぜ私はちょうど得ることはありません。このビット単位の演算(整数)の出力は、関数の入力の型(ブール値)と一致しません。また、0^A
のポイントは何ですか? 0^A==A
はありませんか?ポートとvw_tx_stop()
出力0に
これは単なるランダムなコードです。それを理解しようとしないでください、それは意味をなさない。 – SergeyA