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
四、测试结果
按下和松开按键都会触发中断,串口打印中断信息。
|