EINT外部中断测试,设置为上升沿和下降沿触发中断。
一、电路
使用外部中断INT23来测试。
二、相关的寄存器
P2.3口中断,应设置INT2相关的寄存器
将上面寄存器相应的位置1。
三、程序
3.1、main.c
#include "config.h"
void main(void)
{
uint i=0;
Init_led();
Init_uart(32, 9600);
uart_chl(1); //usb-ttl
Init_enit();
while(1)
{
}
}
3.2、eint.c
#include "config.h"
void Init_enit(void)
{
P2CON &= ~0x08; //p2.3
INT2F |= 0x08;
INT2R |= 0x08;
IE1 |= 0x08;
EA=1;
}
void EX2() interrupt 10
{
uart_send_string("sc95f8617 EINT2 \r\n");
}
3.3、eint.h
#ifndef _EINT_H_
#define _EINT_H_
void Init_enit(void);
#endif
四、测试结果
按下和松开按键都会触发中断,串口打印中断信息。
|