如何配置 msp430g2553 io口的 其他功能啊

2019-03-24 13:39发布

比如做个按键  P1.3 控制按灯亮灭  如何把  P1.3设成高电位啊 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
逆风飞翔
2019-03-24 21:37
<

  1. #include <msp430g2553.h>
    #include <intrinsics.h>

    #define CPU_F ((double)1000000) //1000000为MCLK 单位:HZ
    #define Delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
    #define Delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

    void Key_Init(void);

    void main(void)
    {
         WDTCTL = WDTPW + WDTHOLD;
         Key_Init();
         _EINT(); //开启总中断,这一步没有的话,所有的中断都不能触发
         for(;;);

  2. }
    //*********************************************************************
    #pragma vector = PORT1_VECTOR
    __interrupt void Key_interrput(void)
    {
         Delay_ms(30); //消抖

  3.      if(P1IFG&BIT3)
         {
             P1OUT ^= BIT0+BIT6;
             P1IFG &= 0x00; //中断标志位 需要软件清除!!
             P1REN |= BIT3;
         }
    }
    //********************************************************************
    void Key_Init(void)
    {
         P1DIR |= BIT0+BIT6 ;
         P1REN |= BIT3;
         P1OUT |= BIT3; //很关键的一步(上拉寄存器使能后必须加上这条语句才能完成上拉功能的配置)
         P1IES |= BIT3; //选择触发边沿,下降沿触发
         P1IFG &= ~BIT3; // P1.3 IFG cleared 很重要的一步
         P1IE |= BIT3;
    }

复制代码

一周热门 更多>

相关问题

    相关文章