【ARM裸板】按键外部中断过程及示例

本文详细介绍了ARM裸机环境下,如何进行外部中断的初始化,包括设置中断源、中断控制器、CPU中断使能,以及在start.S中配置中断向量表和中断处理流程。在中断服务函数部分,讨论了如何分辨中断源、调用处理函数并清除中断。
摘要由CSDN通过智能技术生成

示例代码下载

1.初始化

  • 设置中断源(让它能发出中断信号)
  • 设置中断控制器(让它能发出中断信号给CPU)
  • 设置CPU总开关(CPSR有I位,设置总开关,使能中断)

处理时要分辨中断源
处理完要清中断

在这里插入图片描述

1.1 中断源

  • 设置按键为中断源引脚
    • 配置引脚为外部中断模式
    • 配置中断为下降沿触发
    • 配置外部中断MASK使能
//初始化外部中断,设置按键为中断源
void key_eint_init(void)
{
   
	/* 引脚:GPF0、2   GPG3、11 */
	/* 中断:EINT0、2  EINT11、19*/
	GPFCON &= ~((3<<0) | (3<<4)); //清零
	GPFCON |=  ((2<<4) | (2<<0)); //设置[10],配置为外部中断

	GPGCON &= ~((3<<6) | (3<<22));
	GPGCON |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值