2015-04-14 131 views
1

我正在使用msp430的項目。我如何讀取特定端口收到的值並將其分配給變量?像P1.5一樣?我已經設置了P1DIR來輸入。 我所做的:MSP430端口訪問

data = (P1IN & SDA_TMP); // Where SDA_TMP is a defined prep 
+0

SDA_TMP的價值是什麼? – phlogratos

+0

「定義的準備」是什麼意思? – unwind

+0

SDA_TMP是:#define SDA_TMP(0x0020) –

回答

1

事情是這樣的:

const bool data = (P1IN & (1 << 5)) != 0; 

這使用按位與(&)掩蓋了第五位(其值是1 << 5),然後做與零的比較。如果位5被設置,則data中的結果將是true,如果不是,則結果爲false

另請參閱this tutorial瞭解更多。

+0

好的謝謝。這就是我正在尋找的...我在C編碼,所以我會用unsigned char替換const布爾 –