MSP430 G2452 を複数のトグル スイッチ (ボタンではなく) に接続しています。割り込みをセットアップしてボタンをデバウンスする方法は知っていますが、ポートをセットアップするのに苦労しているので、どのスイッチが閉じているかオンになっているかをサンプリングできます。
P1IN (マスキングあり) を読み取って、どのスイッチが閉じている/オンになっているか、どのスイッチが開いている/オフになっているかを把握できるようにしたいと考えています。スイッチはGNDに接続されており、接続されているピンがプルアップされているため、スイッチが閉じている/オンになっているときは、接続されているピンをプルダウンする必要があります。しかし、P1IN は変わらないようです。
ピンが接地されたときにトリガーされる割り込みを設定できますが、割り込みを使用せずにピンをサンプリングしたいだけです。PxIN で状態を読み取れるようにポート ピンを設定するにはどうすればよいですか?
// Port 1 setup
P1SEL = 0; // set P1 as digital I/O for all pins
P1DIR = ~sw1to6; // set switches 1-6 for input
P1OUT = sw1to6; // enable pull-ups on switches 1-6
P1REN |= sw1to6; // enable pull-up resistors on switches 1-6
(ヘッダーファイルの定義:)
// P1.0-1.5
#define sw1 0x01
#define sw2 0x02
#define sw3 0x04
#define sw4 0x08
#define sw5 0x10
#define sw6 0x20
#define sw1to6 sw1 | sw2 | sw3 | sw4 | sw5 | sw6