IO用作GPIO时需设置寄存器(8个)
作者:互联网
一个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为上升沿和下降沿(双边沿)触发
XXX_UUU_XXX 发布了3 篇原创文章 · 获赞 0 · 访问量 1958 私信 关注
标签:时需,设置,中断,ISR,IO,寄存器,GPIO,DR 来源: https://blog.csdn.net/weixin_41276397/article/details/103946149