求助,关于430的P1中断

2019-03-24 10:17发布

参考的是launchpad口袋实验平台指导书。
但是自己用P1后4位中断,P6接led显示就是出不来效果。
不算入门,劳驾高手指正。
  1. #include <msp430F149.h>
  2. #include "config.h"
  3. /************************************************
  4. * 初始化IO
  5. ***********************************************/
  6. void GPIO_Init()
  7. {
  8.         P1DIR |= 0xF0;                //按键 输入
  9.         P6DIR |= 0XFF;                //led 输出
  10.         P6OUT |= 0XFF;
  11.         P1IE |= 0X0F;                //后4位允许中断
  12. }
  13. /**********************************************
  14. *P13按下
  15. * *******************************************/
  16. void P13_Onclick()
  17. {
  18.         P6OUT = ~P6OUT;

  19. }
  20. /***************************************
  21. * 查键值
  22. ************************************/
  23. void P1_IODect()
  24. {
  25.         uint Push_Key = 0;
  26.         Push_Key =P1DIR & P1IFG ;
  27.         delay_ms(100);
  28.         if ((P1IN & Push_Key)==0)
  29.         {
  30.                 switch (Push_Key)
  31.                 {
  32. //                case BIT0 : P10_Onclick();
  33. //                case BIT0 : P11_Onclick();
  34. //                case BIT0 : P12_Onclick();
  35.                 case BIT3 : P13_Onclick();
  36. //                case BIT0 : P14_Onclick();
  37. //                case BIT0 : P15_Onclick();
  38.                 default:break;

  39.                 }

  40.         }

  41. }


  42. void main()
  43. {        WDT_Init();
  44.         //Clock_Init();
  45.         GPIO_Init();
  46.         _EINT();
  47.         LPM0;                                //LPM0 配置休眠
  48. }

  49. #pragma vector = PORT1_VECTOR
  50. __interrupt void PORT1_ISR(void)
  51. {
  52.         P1_IODect();
  53.         P1IFG = 0;
  54. }
复制代码

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
tiankai001
2019-03-24 21:28
 精彩回答 2  元偷偷看……0人看过

一周热门 更多>

相关问题

    相关文章