私は小さな自己プロジェクトに取り組んでいます。ダイヤルを使用して、ダイヤルが EVEN 番号にあるときはいつでも、2 進数に応じて一連の LED が点灯するようにしたいと考えています。例えば:
2 が表示されます: 000010
10 が表示されます: 0001010
1 は点灯している LED です
ダイヤルは 0 から 40 までなので、6 個の LED を使用するだけで済みます。しかし、MSP430 LAUNCHPAD のコーディングに問題があります。
int main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
int numbers[5] = {0,0,0,0,0};
int Leds = 0;
P1DIR &= 0x00; // reseting the P1DIR register
P1OUT &= 0x00; // reseting the P1OUT register
P1DIR = 0xFF; //sets register to 1 on all P1 outputs//
while(1337)
{
コードは現在非常に不完全です。数値の最後のビットを調べて偶数であることを確認してから、LED に出力する方法を理解するのに苦労しています。
私が今見ている方法は、ダイヤルの動きを監視し、LED に表示し、ダイヤルが再び回されるまでそれらの LED を保持する無限ループを持つことです。
最後に、入力番号は文字列になります。そのため、int に変換されます。