MSP430F5529的IO口管脚的中断学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MSP430F5529的IO口管脚的中断学习笔记
非常简单的一个程序,在F5529 的开发板上用按键的IO 中断控制LED 的
亮灭:#include int main(void){ WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer P1DIR |= BIT0; //将LED1 对应的IO 口P1.0 设置为输出P1OUT &= ~BIT0; //初始化该灯设置为灭P1DIR &= ~BIT7; //将按键1 对应的
IO 口P1.7 设置为输入P1IFG &= ~BIT7; //初始化清空中断标志位P1IE |= BIT7; //P1.7 中断使能P1IES |= BIT7; //下降沿产生中断P1OUT |= BIT7; //P1.7 设置为上拉电阻:OUT = 1; REN = 1; P1REN |= BIT7; __enable_interrupt(); while(1);}#pragma vector = PORT1_VECTOR //固定格式,声明中断向量地址,不能变__interrupt void LED(void) //函数名,可以任意
定义{int i;switch(__even_in_range(P1IV,18)){case 0x10:for (i = 0; i 1.按键需要延时消抖
2. 标志位需要手动清零(此处不完全正确,还有问题需要考虑)
3. 中断程序格式:
#pragma vector = PORT2_VECTOR //固定格式,声明中断向量地址,不能变
__interrupt void fuck430(void) //函数名,可以任意定义
{
switch(__even_in_range(P2IV,18))
{
case 0x06:
break;