目录
1.1、SNVS_TAMPER1参考手册,MUX复用功能设置。当前接口只有GPIO可用
1.2、IO口的电气属性设置。PAD=0x10b0=1000 0000 1011 0000(B)
1.2.1、磁滞bit16=0;15-12:1000,即100k欧的上拉,禁止拉/保持功能
1.2.2、11-0:0000 1011 0000。开漏输出,100M转换速率,驱动能力76mA
1.3.GPIO5_IO01的输入输出设置(GDIR),高低电平设置(DR),内存地图
1.3.1、GPIO5_IO01设置为输出(GDIR),每一位对应一个GPIO口。因为是IO01,所以输出设置GPIO5->GDIR |= (1 << 1)
1.3.2、GPIO5->DR |= (1 << 1);控制高低电平的输出,也是每一位对应一个GPIO口
1、硬件电路。PNP三极管控制
1.1、SNVS_TAMPER1参考手册,MUX复用功能设置。当前接口只有GPIO可用
1.2、IO口的电气属性设置。PAD=0x10b0=1000 0000 1011 0000(B)
1.2.1、磁滞bit16=0;15-12:1000,即100k欧的上拉,禁止拉/保持功能
1.2.2、11-0:0000 1011 0000。开漏输出,100M转换速率,驱动能力76mA
1.2.3、开漏输出,推挽输出示意图,参考链接
https://blog.csdn.net/u010168781/article/details/77855666
1.3.GPIO5_IO01的输入输出设置(GDIR),高低电平设置(DR),内存地图
一个GPIO占一个位,bit3就是GPIO3,bit1就是GPIO
DR数据寄存器,32位,高电平GPIO.DR=1,低电平GPIO.DR=0 若设置GPIO3为高电平,则GPIO3_DR=0x8
GDIR方向寄存器,32位,用来设置GPIO工作方式,即输入和输出。输出GPIO.GDIR=1,输入GPIO.GDIR=0
PSR状态寄存器,获取GPIO的状态,即高低电平
ICR1,ICR2中断控制寄存器,ICR1配置低16个GPIO,ICR2配置高16个GPIO
IMR中断屏蔽寄存器,用来控制GPIO的中断禁止和使能,使能中断GPIO_IMR=1,禁止中断GPIO_IMR=0
ISR中断状态寄存器,一个GPIO对应一个位,只要某个GPIO的中断发生,那么ISR中相应的位设置为1,通过读取ISR来判断GPIO中断是否发生,相当于ISR中的位就是中断标志位,当处理完中断必须清除中断标志位,向相应的位写1就是清除。
EDGE_SEL边沿选择寄存器,用来设置边沿中断,会覆盖ICR1和ICR2的设置,GPIO.EDGE_SEL=1表示GPIO为上升沿和下降沿(双边沿)触发
1.3.1、GPIO5_IO01设置为输出(GDIR),每一位对应一个GPIO口。因为是IO01,所以输出设置GPIO5->GDIR |= (1 << 1)
https://www.pianshen.com/article/87791903563/
https://www.cnblogs.com/imunrobot/p/12865237.html
1.3.2、GPIO5->DR |= (1 << 1);控制高低电平的输出,也是每一位对应一个GPIO口