GPIO引脚操作方法(基于STM32裸板)
控制一组GPIO有7个寄存器。本文里提及IDR,ODR,BSRR,BRR寄存器。
typedef struct {
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR; } GPIO_TypeDef;
1、直接操作ODR,输出数据寄存器,先通过IDR,输入数据寄存器把值读回来,在CPU内部修改后再写进去,在写入的1时候需要使用位操作|,写入0的时候用~ 和 &,以避免对寄存器内的其他位进行修改。