This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F5438A上电电平变化的问题

Other Parts Discussed in Thread: MSP430F5438A

请问一下MSP430F5438A上电,设为输入的管脚是不是有一个从0到1的现象,我设的上升沿触发,一加电就触发了,还是程序有问题?

  •  你好,请检查一下有没有设置上下拉电阻?如果是上升沿触发的话,应该设置一下下拉电阻。

  • 设了,效果一样,还有一个奇怪的现象,就是上升沿中断触发后,灯处于什么状态(利用开关通断控制亮灯),关电重启,一上电就显示什么状态,


    #include "msp430.h"

    int main(void)

    {P1DIR|=0X01   : // P1.0管脚输出,用来控制告警灯

    P2DIR&=~0X03;  //P2.0,1输入,用来触发中断

    P2REN|=0X03;

    P2OUT|=0X02;//P2.1拉高

    P2OUT&=~0X01;//p2.0拉低

    P2IE|=0X03;

    P2IES|=0X02;//p2.1下降沿触发

    P2IES&=~0X01;//P2.0上升沿触发

     __bis_SR_register( GIE);

    #pragma vector=PORT2_VECTOR
    __interrupt void Port2_ISR(void)
    {

    switch (P2IV)
    {
    case 0x02:{if(P2IN &0X01)     //上升沿触发,检测开关是否处于闭合,闭合不告警,否则告警亮灯

                              P1OUT&=~0X01;//P1.0输出低电平亮灯告警

                           else

                          P1OUT|=0X01;灭灯

    } break;                            //用来检测开关状态,一旦打开就告警,闭合就取消,不知道这样写对不对

    case 0x04: P1OUT&=~0X01;

    break;      //下降沿触发,连接一个震动传感器,震动后导通接地,亮灯告警
    default: break;

     P2IFG = 0X00;

    }

    这里中断会有冲突吗