一、 A7核
KEY1----->PF9
KEY2----->PF7
KEY3----->PF8
1、分析RCC章节
设置GPIOF控制器使能
2、分析GPIO章节
分析GPIOx_MODER寄存器
设置PF9/PF7/PF8引脚设置为输入模式:
GPIOF_MODER[19:18]=00------>KEY1输入模式
GPIOF_MODER[15:14]=00------>KEY2输入模式
GPIOF_MODER[17:16]=00------>KEY3输入模式
3、分析EXTI章节
分析EXTI_EXTICR3寄存器
key1------>PF9------>EXTI9-------->EXTI_EXTICR3[15:8] = 0x05
key2------>PF7------>EXTI7-------->EXTI_EXTICR2[31:24] = 0x05
key3------>PF8------>EXTI8-------->EXTI_EXTICR3[7:0] = 0x05
分析EXTI_FTSR1寄存器
key1------>PF9------>EXTI9--->对应事件9--->EXTI_FTSR1[9] = 0x1
key2------>PF7------>EXTI7--->对应事件7--->EXTI_FTSR1[7] = 0x1
key3------>PF8------>EXTI8--->对应事件8--->EXTI_FTSR1[8] = 0x1
分析EXTI_IMR1寄存器
key1------>PF9------>EXTI9--->对应事件9--->EXTI_IMR1[9] = 0x1--->中断不屏蔽
key2------>PF7------>EXTI7--->对应事件7--->EXTI_IMR1[7] = 0x1--->中断不屏蔽
key3------>PF8------>EXTI8--->对应事件8--->EXTI_IMR1[8] = 0x1--->中断不屏蔽
分析EXTI_FPR1寄存器
key1------>PF9------>EXTI9--->对应事件9--->EXTI_FPR1[9] = 0x1--->清除中断挂起标志位
key2------>PF7------>EXTI7--->对应事件7--->EXTI_FPR1[7] = 0x1--->清除中断挂起标志位
key3------>PF8------>EXTI8--->对应事件8--->EXTI_FPR1[8] = 0x1--->清除中断挂起标志位
4、分析GICD章节
分析GICD_CTLR寄存器:设置GICD层CPU0组使能
分析GICD_ISENABLERx寄存器:
key1------>PF9------>EXTI9--->对应事件9--->中断号99
key2------>PF7------>EXTI7--->对应事件7--->中断号97
key3------>PF8------>EXTI8--->对应事件8--->中断号98
分析GICD_IPRIORITYRx寄存器:
key1------>PF9------>EXTI9--->对应事件9--->中断号99
key2------>PF7------>EXTI7--->对应事件7--->中断号97
key3------>PF8------>EXTI8--->对应事件8--->中断号98
分析GICD_ITARGETSRx寄存器:
key1------>PF9------>EXTI9--->对应事件9--->中断号99
key2------>PF7------>EXTI7--->对应事件7--->中断号97
key3------>PF8------>EXTI8--->对应事件8--->中断号98
分析GICD_ICPENDRx寄存器:
key1------>PF9------>EXTI9--->对应事件9--->中断号99
key2------>PF7------>EXTI7--->对应事件7--->中断号97
key3------>PF8------>EXTI8--->对应事件8--->中断号98
5、分析GICC章节
分析GICC_CTLR寄存器:CTRL[0] = 1 cpu组0使能
分析GICC_PMR寄存器:这个寄存器设置的值,需要比GICD层设计的中断优先级的值要大
分析GICC_IAR寄存器:GICC_IAR[9:0]:获取按键的中断号
分析GICC_EOIR寄存器:GICC_EOIR[9:0]:清除按键的中断号
二、M4核
1、实验接口
key1------>PF9------>检测方式:下降沿
key2------>PF7------>检测方式:下降沿
key3------>PF8------>检测方式:下降沿
光电开关------>PE15------>检测方式:上升沿(通过调节滑动变阻器R55,让LD5灯点亮)
火焰传感器------>PF5------>检测方式:上升沿(通过调节滑动变阻器R67,让LD6灯点亮)
人体红外------>PF12------>检测方式:上升沿
2、工程配置
1.配置LED1/LED2/LED3为输出模式:PE10/PF10/PE8------>配置为输出模式,给到M4核
2.配置PF9/PF7/PF8/PE15/PF5/PF12为GPIO_EXTI模式:配置为GPIO_EXTI模式,给到M4核