轮询与中断

中断控制器

复制代码
#include"exynos_4412.h"

int main()
{
	/*产生一个中断信号*/
	/*1.属于外设层次,让外部的硬件控制器能产生一个中断信号并发送给中断控制器*/



	/*将GPX1_1设置成中断功能*/
     GPX1.CON = GPX1.CON |( 0xF << 4);
	/*设置GPX1_1中断的触发方式---下降沿触发*/
   EXT_INT41_CON = EXT_INT41_CON & (~(0x7<<4))|(0x2<<4);
	/*使能GPX1_1的中断功能*/
 EXT_INT41_MASK =EXT_INT41_MASK & (~(1<<1));

  /*2.中断控制器层次--让中断控制器接收外设发来的中断信号并对其进行管理然后转发给合适的CPU去处理*/

  ICDDCR = ICDDCR | 1;/*全局使能中断控制器,使其能够接收外部设备产生的中断信号并转发给CPU接口*/
    ICDISER.ICDISER1 = ICDDCR.ICDISER1 | (1 <<25);/*在中断控制器中使能57号中断,使其中断控制器在接收到57号中断后能将其进一步转发到CPU接口*/
	ICDIPIR.ICDIPIR14 = ICDIPIR.ICDIPIR14 & (~ (0xFF<<8)) |(0x01<<8);
	/*选择cpu0来处理57号中断*/

	CPU0.ICCICR = CPU0.ICCICR | 1;
	/*将中断控制器和CPU0之间的接口使能,使得中断控制器转发的信号能够到达CPU0*/

     

	return 0;
}
相关推荐
猫猫的小茶馆5 小时前
【Linux 驱动开发】Linux 内核启动过程详解
linux·c语言·arm开发·驱动开发·stm32·单片机·mcu
田里的水稻5 小时前
ARM_运行openClaw
arm开发·人工智能·算法·机器人
Flamingˢ6 小时前
基于ARM的裸机程序设计和开发(一):Zynq SoC FPGA的诞生
arm开发·fpga开发
猫猫的小茶馆6 小时前
【Linux 驱动开发】STM32MP1 + GT911 触摸显示系统开发笔记
linux·arm开发·驱动开发·stm32·单片机·嵌入式硬件·mcu
代码游侠14 天前
STM32开发——基础外设
linux·运维·arm开发·stm32·单片机·嵌入式硬件·学习
代码游侠14 天前
Linux驱动复习——驱动
linux·运维·arm开发·笔记·学习
古译汉书15 天前
【IoT死磕系列】Day 6:工业控制底层大动脉—CAN总线
linux·网络·arm开发·单片机·物联网·tcp/ip
姜太公钓鲸23315 天前
STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器。上述文字中的内核是什么意思?作用是什么?
arm开发·stm32·嵌入式硬件
日更嵌入式的打工仔15 天前
FIQ 与 IRQ
arm开发·笔记
The️16 天前
STM32-FreeRTOS操作系统-软件定时器
arm开发·stm32·单片机·嵌入式硬件·mcu·c#