MSP430f5438有12組通用IO分別是從1到J,能作為外部中斷引腳的只有P1和P2兩個引腳;對于控制寄存器有下列幾種:
本文引用地址:http://www.ex-cimer.com/article/201611/321744.htmPxIN是輸入寄存器,
PxOUT是輸出寄存器
PxDIR是輸入與輸出方向配置寄存器
PxREn 是下拉下拉寄存器
PxDS 是驅動增強與減弱寄存器
PxSEL是功能選擇寄存器
PxIES是中斷觸發(fā)方式寄存器
PxIE是中斷允許寄存器
PxIFG是中斷標志寄存器
中斷配置如下:
//外部中斷優(yōu)先級沒有軟件配置。端口0最高,端口7最低
void out_interrupt()
{
PortDIR |=BIT0; //設置端口方向
PortIFG &=0xfe; //中斷標志
PortIES |=BIT0; //中斷觸發(fā)方式
PortIE |=BIT0; //中斷開發(fā)
PortREN |=BIT0;
P2OUT |=BIT0;
}
//中斷服務程序如下:
#include "msp430f5438.h"
#include "init.h"
void main( void )
{
clk_init();
out_interrupt();
P5DIR |=BIT4;
_EINT();//編譯器內部開中斷
while(1);
}
#pragma vector=PORT2_VECTOR
__interrupt void Port2(void)
{
__delay_cycles(1000);
if((P2IN&0xff)!=0xff)
{
P5OUT ^=BIT4;
}
PortIFG &= ~BIT0; //中斷標志
}
評論