做哪些网站不受法律保护,建设工程项目管理,潮州网站开发多少钱,网站建设 技术方案一、按键中断实验 #xff08;一#xff09;分析按键电路图 #xff08;二#xff09;芯片手册
二、按键中断实验分析
注#xff1a;NVIC----Cortx-M核GIC----Cortx-A核
#xff08;一#xff09;查看所有外设的总线以及寄存器基地址 注#xff1a;GIC的总线是A7核的…一、按键中断实验 一分析按键电路图 二芯片手册
二、按键中断实验分析
注NVIC----Cortx-M核GIC----Cortx-A核
一查看所有外设的总线以及寄存器基地址 注GIC的总线是A7核的内部总线也就是说它是由ARM公司完成的 注EXTI的时钟源无需手动使能它一直是使能状态
二RCC章节 三GPIO章节
四EXTI扩展中断控制器
扩展中断和事件控制器EXTI通过可配置和直接的事件输入来管理单个CPU和系统唤醒。它为电源控制提供唤醒请求并向CPU的NVIC生成中断请求以及向CPU的事件输入生成事件。对于每个CPU需要一个额外的事件生成块EVG来生成CPU事件信号。 EXTI唤醒请求允许系统从STOP模式唤醒并且允许CPU从CSTOP和CSTANDBY模式唤醒。 中断请求和事件请求生成也可以在RUN模式下使用。 EXTI还包括EXTI多路复用I/O端口选择。
EXTI由通过AHB接口访问的寄存器块、事件输入触发块、屏蔽块和EXTI多路复用器组成。 寄存器块包含所有EXTI寄存器。 事件输入触发块提供事件输入边沿触发逻辑。 屏蔽块提供事件输入到不同唤醒、中断和事件输出的分配以及这些输出的屏蔽功能。 EXTI多路复用器为EXTI事件信号提供I/O端口选择。 其中CPU1代表MPU主处理器单元而CPU2代表MCU微控制器单元。
1. EXTI多路复用IO端口选择 1. EXTI_FTSR1寄存器 注EXTI最多支持76个输入的事件EXTI_FTSR寄存器的每1个bit位配置1个输入的事件一个寄存器最多配置32个因此至少需要三个EXTI_FTSR寄存器。 注KEY1 -- PF9 -- EXTI9 -- EXTI9对应的输入事件的编号 查看21.3章节的表118查看EXTI9对应的输入事件的编号
2. EXTI_FPR1寄存器 读判读下降沿中断是否发生 读0 表示没有下降沿触发中断请求发生 读1 表示有下降沿触发中断请求发生
写清除中断挂载标志位(需要程序员手动清除) 写0没有意思 写1清除下降沿挂载标志位
3. EXIT_EXTI3寄存器 4. EXTI_C1IMR1寄存器 五GIC全局中断控制器 1. GICD_CTLR GICD control register
GICD层全局控制使能寄存器
2. GICD_ISENABLERx : GICD interrupt set-enable register x
GICD层中断设置使能寄存器
3. GICD_IPRIORITYRx GICD interrupt priority register x
GICD层中断优先级寄存器设置中断的优先级编号越小中断优先级越高 GICD_IPRIORITYRx寄存器每5个bit位管理一个中断号。而GIC支持16个SGIs, 16个PPIs, 256个SPIs,共计288个中断号。GICD_IPRIORITYRx寄存器每一个寄存器最多管理4个中断号 要想管理288个中断号最少需要72(288 / 4 72)个寄存器
问题2KEY1 -- PF9 -- EXTI9 -- 中断号99号 99号中断对应GICD_IPRIORITYRx寄存器的哪1个哪5位
中断号 / 4 商 ...... 余数| |--- (余数 * 8 3)对应寄存器5位中的最低位|--- 寄存器的编号99 / 4 24 ...... 3GICD_IPRIORITYR24[31:27]位 配置99号中断的优先级优先级的范围0-31优先级的编号越小中断的优先级越高。4. GICD_ITARGETSRx GICD interrupt processor target register x
GICD层中断处理器目标分配寄存器将中断信号转发给哪个CPU接口 GICD_ITARGETSRx寄存器每2个bit位管理一个中断号。而GIC支持16个SGIs, 16个PPIs, 256个SPIs,共计288个中断号。GICD_ITARGETSRx寄存器每一个寄存器最多管理4个中断号 要想管理288个中断号最少需要72(288 / 4 72)个寄存器
问题2KEY1 -- PF9 -- EXTI9 -- 中断号99号 99号中断对应GICD_ITARGETSRx寄存器的哪1个哪2位
中断号 / 4 商 ...... 余数| |--- (余数 * 8)对应寄存器5位中的最低位|--- 寄存器的编号99 / 4 24 ...... 3GICD_ITARGETSR24[25:24]位 配置99号中断的目标处理0b01 : 分配中断给CPU0接口0b10 : 分配中断给CPU1接口 5. GICD_ICPENDRx GICD interrupt clear-pending register x
GICD层中断清除挂起寄存器判读中断是否发生清除中断挂起标志位
每一个bit位管理一个中断号GIC支持16个SGIs和256个SPIs共计288个中断号。每个寄存器最多管理32个中断号因此最少需要9个寄存器。 问题2KEY1 -- PF9 -- EXTI9 -- 中断号99号 99号中断对应GICD_ICPENDRx寄存器的哪1个哪1位
中断号 / 32 商 ...... 余数| |--- 寄存器对应的位|--- 寄存器的编号99 / 32 3 ...... 3GICD_ICPENDR3[3]位 配置99号中断读0zho写1使能中断写0没有影响1. GICC_CTLR GICC control register
GICC层全局中断控制使能寄存器
2. GICC_PMR GICC input priority mask register
GICC输入中断优先级屏蔽寄存器。根据中断的优先级对中断进行屏蔽
3. GICC_IAR GICC interrupt acknowledge register
GICC层中断应答寄存器获取当前应答的中断的中断号每个中断都有一个唯一的中断号。 中断号在芯片手册的21.2章节的表117中
4. GICC_EOIR GICC end of interrupt register
GICC层中断结束寄存器清除中断号
四、