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

2019-03-24 13:39发布

比如做个按键  P1.3 控制按灯亮灭  如何把  P1.3设成高电位啊 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
逆风飞翔
1楼-- · 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;
    }

复制代码

hit棠
2楼-- · 2019-03-24 23:30
 精彩回答 2  元偷偷看……
elulis
3楼-- · 2019-03-25 00:56
手中的LaunchPad开关S1已经接触不良了,经常按了没反应(是按太多了么...)。会不会是这个原因呢?
重邮king
4楼-- · 2019-03-25 03:34
P1DIR &= BIT3;P1OUT = BIT3; P1REN |= BIT3;这三句话是把P1.3设成高电位!P1OUT = BIT3;这句话一定不能丢,因为这句话是把P1.3口的内部电阻配置为上拉电阻,LaunchPad做工应该不至于这么差,按键是木有问题的,主要还是你程序的问题~
重邮king
5楼-- · 2019-03-25 06:03
 精彩回答 2  元偷偷看……
xuwenchao
6楼-- · 2019-03-25 07:42
外边还用接上来电阻吗

一周热门 更多>

相关问题

    相关文章