您的位置:首页 > 其它

Cortex-A8按键中断程序

2014-03-31 19:36 274 查看
#include "s5pc100.h"
#include "uart.h"

void key1_int(void);

int main()
{
uart_init();

GPH0.GPH0CON = 2 << 4;//相对应的引脚设置为中断唤醒方式

VIC0VECTADDR.VIC0VECTADDR1 = (unsigned int)key1_int;//注册中断地址
VIC0INTERRUPT.VIC0INTENABLE = 0x2;//向量中断使能

WKUPCON.WKUP_INT0_7_CON = (2 << 4);//唤醒中断使能
WKUPMSK.WKUP_INT0_7_MASK &= ~0x02;//中断屏蔽取消

puts("Please press key1 down!\n");

while (1) {};

return 0;
}

void do_irq(void)
{
((void (*)(void))VIC0ADDRESS)();//读取中断地址寄存器,执行相应的中断函数
VIC0ADDRESS = 0;//清除地址寄存器
}

void key1_int(void)//中断处理函数
{
puts("Key1 has been pressed!\n");
WKUPPND.WKUP_INT0_7_PEND = 0x2;//清除中断标志位
}

工程源码:    http://download.csdn.net/detail/a987860319/7126461
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: