参考的是launchpad口袋实验平台指导书。
但是自己用P1后4位中断,P6接led显示就是出不来效果。
不算入门,劳驾高手指正。
- #include <msp430F149.h>
- #include "config.h"
- /************************************************
- * 初始化IO
- ***********************************************/
- void GPIO_Init()
- {
- P1DIR |= 0xF0; //按键 输入
- P6DIR |= 0XFF; //led 输出
- P6OUT |= 0XFF;
- P1IE |= 0X0F; //后4位允许中断
- }
- /**********************************************
- *P13按下
- * *******************************************/
- void P13_Onclick()
- {
- P6OUT = ~P6OUT;
- }
- /***************************************
- * 查键值
- ************************************/
- void P1_IODect()
- {
- uint Push_Key = 0;
- Push_Key =P1DIR & P1IFG ;
- delay_ms(100);
- if ((P1IN & Push_Key)==0)
- {
- switch (Push_Key)
- {
- // case BIT0 : P10_Onclick();
- // case BIT0 : P11_Onclick();
- // case BIT0 : P12_Onclick();
- case BIT3 : P13_Onclick();
- // case BIT0 : P14_Onclick();
- // case BIT0 : P15_Onclick();
- default:break;
- }
- }
- }
- void main()
- { WDT_Init();
- //Clock_Init();
- GPIO_Init();
- _EINT();
- LPM0; //LPM0 配置休眠
- }
- #pragma vector = PORT1_VECTOR
- __interrupt void PORT1_ISR(void)
- {
- P1_IODect();
- P1IFG = 0;
- }
复制代码
此帖出自
小平头技术问答
一周热门 更多>