低电平发声

按键
按下,连通GND,KEY0为低电平;松开,不连通GND,KEY0为高电平

12~15保持与上拉(拉才考虑)
|----|----|----|----|----|----|---|---|---|---|---|---|---|---|---|-------|
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | | | | | SPEED || DSE ||| | | SRE |
| | | | | | | | | | | 驱动强度配置 ||| | | 压摆率设置 |

迟滞比较器
消除抖动(小),增加延时
PUS
上拉下拉

中断处理流程
GIC

IRQ普通中断
SPI:(32!1019)
PPI:私有外设中断(16~31)
SGI:软中断(0~15),中断来自CPU,自我打断
cp0~cp15:协助处理器
The main functions of the CP15 system registers are:
- Overall system control and configuration.
- Memory Management Unit (MMU) configuration and management.
- Cache configuration and management.
- Virtualization and security.
- System performance monitoring.
mrc mcr

ISR 中断状态寄存器
步骤
- 解除中断屏蔽:GPIOx_IMR
- 配置中断触发方式:GPIOx_ICR2
- 中断状态标志判断:GPIOx_ISR
if((GPIO1->ISR & (1<<18)) !=0)
{
led_on();
GPIO1->ISR |= (1<<18);
}
GIC初始化 GIC_Init();
设置GIC中对应中断优先级 GIC_SetPriority(GPIO1_Combined_16_31_IRQn,0);
设置GIC中对应中断使能
获取GIC寄存器组的基地址
获取中断通知寄存器的值
清楚中断结束寄存器的标志
异常向量表基地址重映射
打开icache
irq异常处理函数
irq中断处理函数
GIC检查