2015-04-14 105 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布尔 –