msp430 如何读取外部数据

2019-07-15 15:57发布

#include <msp430f5529.h>
void main(void) {
    WDTCTL = WDTPW | WDTHOLD;
    volatile int temp;
        P6DIR &=0x00;
        P6SEL = 0X00;
        P1DIR |= BIT0;
        //temp=P6IN;
        while(1)
        {
                if(P6IN)
                {        P1OUT |= BIT0;}
                else
                        P1OUT &= ~BIT0;
        }
}
程序的大概意思是P6.1口读取热释电的高电平信号,当检测到高电平时,P1.0控制led亮

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
猎国倾城
1楼-- · 2019-07-15 21:55
读之前,改变引脚状态为低电平,然后设置该引脚为输入,然后再进行读操作。
三笑TM
2楼-- · 2019-07-16 01:16
楼主你好!我是新手 请问你这代码是完整的吗?我想让单片机控制LED灯亮 当红外传感器检测到人体后
为什么把temp=P6IN注释了?
一叶孤城
3楼-- · 2019-07-16 03:17
三笑TM 发表于 2016-12-10 12:16
楼主你好!我是新手 请问你这代码是完整的吗?我想让单片机控制LED灯亮 当红外传感器检测到人体后
为什么把temp=P6IN注释了?

因为P6IN的值不是常量,而是一串的寄存器指令,单片机判断是否读取到外部的值应该这么写  if(P6IN&=0x02)
三笑TM
4楼-- · 2019-07-16 08:57
 精彩回答 2  元偷偷看……

一周热门 更多>