stm32引脚输入输出设置寄存器操作汇总

2024-01-10 15:05:57

?引脚数据表说明

实际历程

?下图时正点原子i2c时使用的宏定义?

注意事项

1.实际使用的并不是标准的输入输出(i2c的开漏)模式。

解释

SDA_IN()?

使用了 0x8 = 0b 10 00? = bit3 bit2 [0b10] + bit1 bit0[00] = (上下拉输入模式)+ (输入模式)

SDA_OUT()

使用了 0x3 = 0b 00 10 =?bit3 bit2 [0b00] + bit1 bit0[11] =?(通用推挽输出模式)+ (输出模式最大50MHz)

?完整代码列表

?下面的代码是对PA0-PH15的引进行了穷举法代码,使用的时候只需要拷贝三行相应的引脚即可。

//IO方向设置
#define IIC_SDA    PAout(0) //SDA	  
#define SDA_IN()  {GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=(u32)8<<0;}
#define SDA_OUT() {GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PAout(1) //SDA	  
#define SDA_IN()  {GPIOA->CRL&=0XFFFFFF0F;GPIOA->CRL|=(u32)8<<4;}
#define SDA_OUT() {GPIOA->CRL&=0XFFFFFF0F;GPIOA->CRL|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PAout(2) //SDA	  
#define SDA_IN()  {GPIOA->CRL&=0XFFFFF0FF;GPIOA->CRL|=(u32)8<<8;}
#define SDA_OUT() {GPIOA->CRL&=0XFFFFF0FF;GPIOA->CRL|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PAout(3) //SDA	  
#define SDA_IN()  {GPIOA->CRL&=0XFFFF0FFF;GPIOA->CRL|=(u32)8<<12;}
#define SDA_OUT() {GPIOA->CRL&=0XFFFF0FFF;GPIOA->CRL|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PAout(4) //SDA	  
#define SDA_IN()  {GPIOA->CRL&=0XFFF0FFFF;GPIOA->CRL|=(u32)8<<16;}
#define SDA_OUT() {GPIOA->CRL&=0XFFF0FFFF;GPIOA->CRL|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PAout(5) //SDA	  
#define SDA_IN()  {GPIOA->CRL&=0XFF0FFFFF;GPIOA->CRL|=(u32)8<<20;}
#define SDA_OUT() {GPIOA->CRL&=0XFF0FFFFF;GPIOA->CRL|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PAout(6) //SDA	  
#define SDA_IN()  {GPIOA->CRL&=0XF0FFFFFF;GPIOA->CRL|=(u32)8<<24;}
#define SDA_OUT() {GPIOA->CRL&=0XF0FFFFFF;GPIOA->CRL|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PAout(7) //SDA	  
#define SDA_IN()  {GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=(u32)3<<28;}

//IO方向设置
#define IIC_SDA    PAout(8) //SDA	  
#define SDA_IN()  {GPIOA->CRH&=0XFFFFFFF0;GPIOA->CRH|=(u32)8<<0;}
#define SDA_OUT() {GPIOA->CRH&=0XFFFFFFF0;GPIOA->CRH|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PAout(9) //SDA	  
#define SDA_IN()  {GPIOA->CRH&=0XFFFFFF0F;GPIOA->CRH|=(u32)8<<4;}
#define SDA_OUT() {GPIOA->CRH&=0XFFFFFF0F;GPIOA->CRH|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PAout(10) //SDA	  
#define SDA_IN()  {GPIOA->CRH&=0XFFFFF0FF;GPIOA->CRH|=(u32)8<<8;}
#define SDA_OUT() {GPIOA->CRH&=0XFFFFF0FF;GPIOA->CRH|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PAout(11) //SDA	  
#define SDA_IN()  {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=(u32)8<<12;}
#define SDA_OUT() {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PAout(12) //SDA	  
#define SDA_IN()  {GPIOA->CRH&=0XFFF0FFFF;GPIOA->CRH|=(u32)8<<16;}
#define SDA_OUT() {GPIOA->CRH&=0XFFF0FFFF;GPIOA->CRH|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PAout(13) //SDA	  
#define SDA_IN()  {GPIOA->CRH&=0XFF0FFFFF;GPIOA->CRH|=(u32)8<<20;}
#define SDA_OUT() {GPIOA->CRH&=0XFF0FFFFF;GPIOA->CRH|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PAout(14) //SDA	  
#define SDA_IN()  {GPIOA->CRH&=0XF0FFFFFF;GPIOA->CRH|=(u32)8<<24;}
#define SDA_OUT() {GPIOA->CRH&=0XF0FFFFFF;GPIOA->CRH|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PAout(15) //SDA	  
#define SDA_IN()  {GPIOA->CRH&=0X0FFFFFFF;GPIOA->CRH|=(u32)8<<28;}
#define SDA_OUT() {GPIOA->CRH&=0X0FFFFFFF;GPIOA->CRH|=(u32)3<<28;}




//IO方向设置
#define IIC_SDA    PBout(0) //SDA	  
#define SDA_IN()  {GPIOB->CRL&=0XFFFFFFF0;GPIOB->CRL|=(u32)8<<0;}
#define SDA_OUT() {GPIOB->CRL&=0XFFFFFFF0;GPIOB->CRL|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PBout(1) //SDA	  
#define SDA_IN()  {GPIOB->CRL&=0XFFFFFF0F;GPIOB->CRL|=(u32)8<<4;}
#define SDA_OUT() {GPIOB->CRL&=0XFFFFFF0F;GPIOB->CRL|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PBout(2) //SDA	  
#define SDA_IN()  {GPIOB->CRL&=0XFFFFF0FF;GPIOB->CRL|=(u32)8<<8;}
#define SDA_OUT() {GPIOB->CRL&=0XFFFFF0FF;GPIOB->CRL|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PBout(3) //SDA	  
#define SDA_IN()  {GPIOB->CRL&=0XFFFF0FFF;GPIOB->CRL|=(u32)8<<12;}
#define SDA_OUT() {GPIOB->CRL&=0XFFFF0FFF;GPIOB->CRL|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PBout(4) //SDA	  
#define SDA_IN()  {GPIOB->CRL&=0XFFF0FFFF;GPIOB->CRL|=(u32)8<<16;}
#define SDA_OUT() {GPIOB->CRL&=0XFFF0FFFF;GPIOB->CRL|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PBout(5) //SDA	  
#define SDA_IN()  {GPIOB->CRL&=0XFF0FFFFF;GPIOB->CRL|=(u32)8<<20;}
#define SDA_OUT() {GPIOB->CRL&=0XFF0FFFFF;GPIOB->CRL|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PBout(6) //SDA	  
#define SDA_IN()  {GPIOB->CRL&=0XF0FFFFFF;GPIOB->CRL|=(u32)8<<24;}
#define SDA_OUT() {GPIOB->CRL&=0XF0FFFFFF;GPIOB->CRL|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PBout(7) //SDA	  
#define SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;}

//IO方向设置
#define IIC_SDA    PBout(8) //SDA	  
#define SDA_IN()  {GPIOB->CRH&=0XFFFFFFF0;GPIOB->CRH|=(u32)8<<0;}
#define SDA_OUT() {GPIOB->CRH&=0XFFFFFFF0;GPIOB->CRH|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PBout(9) //SDA	  
#define SDA_IN()  {GPIOB->CRH&=0XFFFFFF0F;GPIOB->CRH|=(u32)8<<4;}
#define SDA_OUT() {GPIOB->CRH&=0XFFFFFF0F;GPIOB->CRH|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PBout(10) //SDA	  
#define SDA_IN()  {GPIOB->CRH&=0XFFFFF0FF;GPIOB->CRH|=(u32)8<<8;}
#define SDA_OUT() {GPIOB->CRH&=0XFFFFF0FF;GPIOB->CRH|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PBout(11) //SDA	  
#define SDA_IN()  {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=(u32)8<<12;}
#define SDA_OUT() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PBout(12) //SDA	  
#define SDA_IN()  {GPIOB->CRH&=0XFFF0FFFF;GPIOB->CRH|=(u32)8<<16;}
#define SDA_OUT() {GPIOB->CRH&=0XFFF0FFFF;GPIOB->CRH|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PBout(13) //SDA	  
#define SDA_IN()  {GPIOB->CRH&=0XFF0FFFFF;GPIOB->CRH|=(u32)8<<20;}
#define SDA_OUT() {GPIOB->CRH&=0XFF0FFFFF;GPIOB->CRH|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PBout(14) //SDA	  
#define SDA_IN()  {GPIOB->CRH&=0XF0FFFFFF;GPIOB->CRH|=(u32)8<<24;}
#define SDA_OUT() {GPIOB->CRH&=0XF0FFFFFF;GPIOB->CRH|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PBout(15) //SDA	  
#define SDA_IN()  {GPIOB->CRH&=0X0FFFFFFF;GPIOB->CRH|=(u32)8<<28;}
#define SDA_OUT() {GPIOB->CRH&=0X0FFFFFFF;GPIOB->CRH|=(u32)3<<28;}


//IO方向设置
#define IIC_SDA    PCout(0) //SDA	  
#define SDA_IN()  {GPIOC->CRL&=0XFFFFFFF0;GPIOC->CRL|=(u32)8<<0;}
#define SDA_OUT() {GPIOC->CRL&=0XFFFFFFF0;GPIOC->CRL|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PCout(1) //SDA	  
#define SDA_IN()  {GPIOC->CRL&=0XFFFFFF0F;GPIOC->CRL|=(u32)8<<4;}
#define SDA_OUT() {GPIOC->CRL&=0XFFFFFF0F;GPIOC->CRL|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PCout(2) //SDA	  
#define SDA_IN()  {GPIOC->CRL&=0XFFFFF0FF;GPIOC->CRL|=(u32)8<<8;}
#define SDA_OUT() {GPIOC->CRL&=0XFFFFF0FF;GPIOC->CRL|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PCout(3) //SDA	  
#define SDA_IN()  {GPIOC->CRL&=0XFFFF0FFF;GPIOC->CRL|=(u32)8<<12;}
#define SDA_OUT() {GPIOC->CRL&=0XFFFF0FFF;GPIOC->CRL|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PCout(4) //SDA	  
#define SDA_IN()  {GPIOC->CRL&=0XFFF0FFFF;GPIOC->CRL|=(u32)8<<16;}
#define SDA_OUT() {GPIOC->CRL&=0XFFF0FFFF;GPIOC->CRL|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PCout(5) //SDA	  
#define SDA_IN()  {GPIOC->CRL&=0XFF0FFFFF;GPIOC->CRL|=(u32)8<<20;}
#define SDA_OUT() {GPIOC->CRL&=0XFF0FFFFF;GPIOC->CRL|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PCout(6) //SDA	  
#define SDA_IN()  {GPIOC->CRL&=0XF0FFFFFF;GPIOC->CRL|=(u32)8<<24;}
#define SDA_OUT() {GPIOC->CRL&=0XF0FFFFFF;GPIOC->CRL|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PCout(7) //SDA	  
#define SDA_IN()  {GPIOC->CRL&=0X0FFFFFFF;GPIOC->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOC->CRL&=0X0FFFFFFF;GPIOC->CRL|=(u32)3<<28;}

//IO方向设置
#define IIC_SDA    PCout(8) //SDA	  
#define SDA_IN()  {GPIOC->CRH&=0XFFFFFFF0;GPIOC->CRH|=(u32)8<<0;}
#define SDA_OUT() {GPIOC->CRH&=0XFFFFFFF0;GPIOC->CRH|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PCout(9) //SDA	  
#define SDA_IN()  {GPIOC->CRH&=0XFFFFFF0F;GPIOC->CRH|=(u32)8<<4;}
#define SDA_OUT() {GPIOC->CRH&=0XFFFFFF0F;GPIOC->CRH|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PCout(10) //SDA	  
#define SDA_IN()  {GPIOC->CRH&=0XFFFFF0FF;GPIOC->CRH|=(u32)8<<8;}
#define SDA_OUT() {GPIOC->CRH&=0XFFFFF0FF;GPIOC->CRH|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PCout(11) //SDA	  
#define SDA_IN()  {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=(u32)8<<12;}
#define SDA_OUT() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PCout(12) //SDA	  
#define SDA_IN()  {GPIOC->CRH&=0XFFF0FFFF;GPIOC->CRH|=(u32)8<<16;}
#define SDA_OUT() {GPIOC->CRH&=0XFFF0FFFF;GPIOC->CRH|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PCout(13) //SDA	  
#define SDA_IN()  {GPIOC->CRH&=0XFF0FFFFF;GPIOC->CRH|=(u32)8<<20;}
#define SDA_OUT() {GPIOC->CRH&=0XFF0FFFFF;GPIOC->CRH|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PCout(14) //SDA	  
#define SDA_IN()  {GPIOC->CRH&=0XF0FFFFFF;GPIOC->CRH|=(u32)8<<24;}
#define SDA_OUT() {GPIOC->CRH&=0XF0FFFFFF;GPIOC->CRH|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PCout(15) //SDA	  
#define SDA_IN()  {GPIOC->CRH&=0X0FFFFFFF;GPIOC->CRH|=(u32)8<<28;}
#define SDA_OUT() {GPIOC->CRH&=0X0FFFFFFF;GPIOC->CRH|=(u32)3<<28;}


//IO方向设置
#define IIC_SDA    PDout(0) //SDA	  
#define SDA_IN()  {GPIOD->CRL&=0XFFFFFFF0;GPIOD->CRL|=(u32)8<<0;}
#define SDA_OUT() {GPIOD->CRL&=0XFFFFFFF0;GPIOD->CRL|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PDout(1) //SDA	  
#define SDA_IN()  {GPIOD->CRL&=0XFFFFFF0F;GPIOD->CRL|=(u32)8<<4;}
#define SDA_OUT() {GPIOD->CRL&=0XFFFFFF0F;GPIOD->CRL|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PDout(2) //SDA	  
#define SDA_IN()  {GPIOD->CRL&=0XFFFFF0FF;GPIOD->CRL|=(u32)8<<8;}
#define SDA_OUT() {GPIOD->CRL&=0XFFFFF0FF;GPIOD->CRL|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PDout(3) //SDA	  
#define SDA_IN()  {GPIOD->CRL&=0XFFFF0FFF;GPIOD->CRL|=(u32)8<<12;}
#define SDA_OUT() {GPIOD->CRL&=0XFFFF0FFF;GPIOD->CRL|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PDout(4) //SDA	  
#define SDA_IN()  {GPIOD->CRL&=0XFFF0FFFF;GPIOD->CRL|=(u32)8<<16;}
#define SDA_OUT() {GPIOD->CRL&=0XFFF0FFFF;GPIOD->CRL|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PDout(5) //SDA	  
#define SDA_IN()  {GPIOD->CRL&=0XFF0FFFFF;GPIOD->CRL|=(u32)8<<20;}
#define SDA_OUT() {GPIOD->CRL&=0XFF0FFFFF;GPIOD->CRL|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PDout(6) //SDA	  
#define SDA_IN()  {GPIOD->CRL&=0XF0FFFFFF;GPIOD->CRL|=(u32)8<<24;}
#define SDA_OUT() {GPIOD->CRL&=0XF0FFFFFF;GPIOD->CRL|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PDout(7) //SDA	  
#define SDA_IN()  {GPIOD->CRL&=0X0FFFFFFF;GPIOD->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOD->CRL&=0X0FFFFFFF;GPIOD->CRL|=(u32)3<<28;}

//IO方向设置
#define IIC_SDA    PDout(8) //SDA	  
#define SDA_IN()  {GPIOD->CRH&=0XFFFFFFF0;GPIOD->CRH|=(u32)8<<0;}
#define SDA_OUT() {GPIOD->CRH&=0XFFFFFFF0;GPIOD->CRH|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PDout(9) //SDA	  
#define SDA_IN()  {GPIOD->CRH&=0XFFFFFF0F;GPIOD->CRH|=(u32)8<<4;}
#define SDA_OUT() {GPIOD->CRH&=0XFFFFFF0F;GPIOD->CRH|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PDout(10) //SDA	  
#define SDA_IN()  {GPIOD->CRH&=0XFFFFF0FF;GPIOD->CRH|=(u32)8<<8;}
#define SDA_OUT() {GPIOD->CRH&=0XFFFFF0FF;GPIOD->CRH|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PDout(11) //SDA	  
#define SDA_IN()  {GPIOD->CRH&=0XFFFF0FFF;GPIOD->CRH|=(u32)8<<12;}
#define SDA_OUT() {GPIOD->CRH&=0XFFFF0FFF;GPIOD->CRH|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PDout(12) //SDA	  
#define SDA_IN()  {GPIOD->CRH&=0XFFF0FFFF;GPIOD->CRH|=(u32)8<<16;}
#define SDA_OUT() {GPIOD->CRH&=0XFFF0FFFF;GPIOD->CRH|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PDout(13) //SDA	  
#define SDA_IN()  {GPIOD->CRH&=0XFF0FFFFF;GPIOD->CRH|=(u32)8<<20;}
#define SDA_OUT() {GPIOD->CRH&=0XFF0FFFFF;GPIOD->CRH|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PDout(14) //SDA	  
#define SDA_IN()  {GPIOD->CRH&=0XF0FFFFFF;GPIOD->CRH|=(u32)8<<24;}
#define SDA_OUT() {GPIOD->CRH&=0XF0FFFFFF;GPIOD->CRH|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PDout(15) //SDA	  
#define SDA_IN()  {GPIOD->CRH&=0X0FFFFFFF;GPIOD->CRH|=(u32)8<<28;}
#define SDA_OUT() {GPIOD->CRH&=0X0FFFFFFF;GPIOD->CRH|=(u32)3<<28;}

//IO方向设置
#define IIC_SDA    PEout(0) //SDA	  
#define SDA_IN()  {GPIOE->CRL&=0XFFFFFFF0;GPIOE->CRL|=(u32)8<<0;}
#define SDA_OUT() {GPIOE->CRL&=0XFFFFFFF0;GPIOE->CRL|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PEout(1) //SDA	  
#define SDA_IN()  {GPIOE->CRL&=0XFFFFFF0F;GPIOE->CRL|=(u32)8<<4;}
#define SDA_OUT() {GPIOE->CRL&=0XFFFFFF0F;GPIOE->CRL|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PEout(2) //SDA	  
#define SDA_IN()  {GPIOE->CRL&=0XFFFFF0FF;GPIOE->CRL|=(u32)8<<8;}
#define SDA_OUT() {GPIOE->CRL&=0XFFFFF0FF;GPIOE->CRL|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PEout(3) //SDA	  
#define SDA_IN()  {GPIOE->CRL&=0XFFFF0FFF;GPIOE->CRL|=(u32)8<<12;}
#define SDA_OUT() {GPIOE->CRL&=0XFFFF0FFF;GPIOE->CRL|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PEout(4) //SDA	  
#define SDA_IN()  {GPIOE->CRL&=0XFFF0FFFF;GPIOE->CRL|=(u32)8<<16;}
#define SDA_OUT() {GPIOE->CRL&=0XFFF0FFFF;GPIOE->CRL|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PEout(5) //SDA	  
#define SDA_IN()  {GPIOE->CRL&=0XFF0FFFFF;GPIOE->CRL|=(u32)8<<20;}
#define SDA_OUT() {GPIOE->CRL&=0XFF0FFFFF;GPIOE->CRL|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PEout(6) //SDA	  
#define SDA_IN()  {GPIOE->CRL&=0XF0FFFFFF;GPIOE->CRL|=(u32)8<<24;}
#define SDA_OUT() {GPIOE->CRL&=0XF0FFFFFF;GPIOE->CRL|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PEout(7) //SDA	  
#define SDA_IN()  {GPIOE->CRL&=0X0FFFFFFF;GPIOE->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOE->CRL&=0X0FFFFFFF;GPIOE->CRL|=(u32)3<<28;}

//IO方向设置
#define IIC_SDA    PEout(8) //SDA	  
#define SDA_IN()  {GPIOE->CRH&=0XFFFFFFF0;GPIOE->CRH|=(u32)8<<0;}
#define SDA_OUT() {GPIOE->CRH&=0XFFFFFFF0;GPIOE->CRH|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PEout(9) //SDA	  
#define SDA_IN()  {GPIOE->CRH&=0XFFFFFF0F;GPIOE->CRH|=(u32)8<<4;}
#define SDA_OUT() {GPIOE->CRH&=0XFFFFFF0F;GPIOE->CRH|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PEout(10) //SDA	  
#define SDA_IN()  {GPIOE->CRH&=0XFFFFF0FF;GPIOE->CRH|=(u32)8<<8;}
#define SDA_OUT() {GPIOE->CRH&=0XFFFFF0FF;GPIOE->CRH|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PEout(11) //SDA	  
#define SDA_IN()  {GPIOE->CRH&=0XFFFF0FFF;GPIOE->CRH|=(u32)8<<12;}
#define SDA_OUT() {GPIOE->CRH&=0XFFFF0FFF;GPIOE->CRH|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PEout(12) //SDA	  
#define SDA_IN()  {GPIOE->CRH&=0XFFF0FFFF;GPIOE->CRH|=(u32)8<<16;}
#define SDA_OUT() {GPIOE->CRH&=0XFFF0FFFF;GPIOE->CRH|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PEout(13) //SDA	  
#define SDA_IN()  {GPIOE->CRH&=0XFF0FFFFF;GPIOE->CRH|=(u32)8<<20;}
#define SDA_OUT() {GPIOE->CRH&=0XFF0FFFFF;GPIOE->CRH|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PEout(14) //SDA	  
#define SDA_IN()  {GPIOE->CRH&=0XF0FFFFFF;GPIOE->CRH|=(u32)8<<24;}
#define SDA_OUT() {GPIOE->CRH&=0XF0FFFFFF;GPIOE->CRH|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PEout(15) //SDA	  
#define SDA_IN()  {GPIOE->CRH&=0X0FFFFFFF;GPIOE->CRH|=(u32)8<<28;}
#define SDA_OUT() {GPIOE->CRH&=0X0FFFFFFF;GPIOE->CRH|=(u32)3<<28;}


//IO方向设置
#define IIC_SDA    PFout(0) //SDA	  
#define SDA_IN()  {GPIOF->CRL&=0XFFFFFFF0;GPIOF->CRL|=(u32)8<<0;}
#define SDA_OUT() {GPIOF->CRL&=0XFFFFFFF0;GPIOF->CRL|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PFout(1) //SDA	  
#define SDA_IN()  {GPIOF->CRL&=0XFFFFFF0F;GPIOF->CRL|=(u32)8<<4;}
#define SDA_OUT() {GPIOF->CRL&=0XFFFFFF0F;GPIOF->CRL|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PFout(2) //SDA	  
#define SDA_IN()  {GPIOF->CRL&=0XFFFFF0FF;GPIOF->CRL|=(u32)8<<8;}
#define SDA_OUT() {GPIOF->CRL&=0XFFFFF0FF;GPIOF->CRL|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PFout(3) //SDA	  
#define SDA_IN()  {GPIOF->CRL&=0XFFFF0FFF;GPIOF->CRL|=(u32)8<<12;}
#define SDA_OUT() {GPIOF->CRL&=0XFFFF0FFF;GPIOF->CRL|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PFout(4) //SDA	  
#define SDA_IN()  {GPIOF->CRL&=0XFFF0FFFF;GPIOF->CRL|=(u32)8<<16;}
#define SDA_OUT() {GPIOF->CRL&=0XFFF0FFFF;GPIOF->CRL|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PFout(5) //SDA	  
#define SDA_IN()  {GPIOF->CRL&=0XFF0FFFFF;GPIOF->CRL|=(u32)8<<20;}
#define SDA_OUT() {GPIOF->CRL&=0XFF0FFFFF;GPIOF->CRL|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PFout(6) //SDA	  
#define SDA_IN()  {GPIOF->CRL&=0XF0FFFFFF;GPIOF->CRL|=(u32)8<<24;}
#define SDA_OUT() {GPIOF->CRL&=0XF0FFFFFF;GPIOF->CRL|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PFout(7) //SDA	  
#define SDA_IN()  {GPIOF->CRL&=0X0FFFFFFF;GPIOF->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOF->CRL&=0X0FFFFFFF;GPIOF->CRL|=(u32)3<<28;}

//IO方向设置
#define IIC_SDA    PFout(8) //SDA	  
#define SDA_IN()  {GPIOF->CRH&=0XFFFFFFF0;GPIOF->CRH|=(u32)8<<0;}
#define SDA_OUT() {GPIOF->CRH&=0XFFFFFFF0;GPIOF->CRH|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PFout(9) //SDA	  
#define SDA_IN()  {GPIOF->CRH&=0XFFFFFF0F;GPIOF->CRH|=(u32)8<<4;}
#define SDA_OUT() {GPIOF->CRH&=0XFFFFFF0F;GPIOF->CRH|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PFout(10) //SDA	  
#define SDA_IN()  {GPIOF->CRH&=0XFFFFF0FF;GPIOF->CRH|=(u32)8<<8;}
#define SDA_OUT() {GPIOF->CRH&=0XFFFFF0FF;GPIOF->CRH|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PFout(11) //SDA	  
#define SDA_IN()  {GPIOF->CRH&=0XFFFF0FFF;GPIOF->CRH|=(u32)8<<12;}
#define SDA_OUT() {GPIOF->CRH&=0XFFFF0FFF;GPIOF->CRH|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PFout(12) //SDA	  
#define SDA_IN()  {GPIOF->CRH&=0XFFF0FFFF;GPIOF->CRH|=(u32)8<<16;}
#define SDA_OUT() {GPIOF->CRH&=0XFFF0FFFF;GPIOF->CRH|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PFout(13) //SDA	  
#define SDA_IN()  {GPIOF->CRH&=0XFF0FFFFF;GPIOF->CRH|=(u32)8<<20;}
#define SDA_OUT() {GPIOF->CRH&=0XFF0FFFFF;GPIOF->CRH|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PFout(14) //SDA	  
#define SDA_IN()  {GPIOF->CRH&=0XF0FFFFFF;GPIOF->CRH|=(u32)8<<24;}
#define SDA_OUT() {GPIOF->CRH&=0XF0FFFFFF;GPIOF->CRH|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PFout(15) //SDA	  
#define SDA_IN()  {GPIOF->CRH&=0X0FFFFFFF;GPIOF->CRH|=(u32)8<<28;}
#define SDA_OUT() {GPIOF->CRH&=0X0FFFFFFF;GPIOF->CRH|=(u32)3<<28;}


//IO方向设置
#define IIC_SDA    PGout(0) //SDA	  
#define SDA_IN()  {GPIOG->CRL&=0XFFFFFFF0;GPIOG->CRL|=(u32)8<<0;}
#define SDA_OUT() {GPIOG->CRL&=0XFFFFFFF0;GPIOG->CRL|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PGout(1) //SDA	  
#define SDA_IN()  {GPIOG->CRL&=0XFFFFFF0F;GPIOG->CRL|=(u32)8<<4;}
#define SDA_OUT() {GPIOG->CRL&=0XFFFFFF0F;GPIOG->CRL|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PGout(2) //SDA	  
#define SDA_IN()  {GPIOG->CRL&=0XFFFFF0FF;GPIOG->CRL|=(u32)8<<8;}
#define SDA_OUT() {GPIOG->CRL&=0XFFFFF0FF;GPIOG->CRL|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PGout(3) //SDA	  
#define SDA_IN()  {GPIOG->CRL&=0XFFFF0FFF;GPIOG->CRL|=(u32)8<<12;}
#define SDA_OUT() {GPIOG->CRL&=0XFFFF0FFF;GPIOG->CRL|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PGout(4) //SDA	  
#define SDA_IN()  {GPIOG->CRL&=0XFFF0FFFF;GPIOG->CRL|=(u32)8<<16;}
#define SDA_OUT() {GPIOG->CRL&=0XFFF0FFFF;GPIOG->CRL|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PGout(5) //SDA	  
#define SDA_IN()  {GPIOG->CRL&=0XFF0FFFFF;GPIOG->CRL|=(u32)8<<20;}
#define SDA_OUT() {GPIOG->CRL&=0XFF0FFFFF;GPIOG->CRL|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PGout(6) //SDA	  
#define SDA_IN()  {GPIOG->CRL&=0XF0FFFFFF;GPIOG->CRL|=(u32)8<<24;}
#define SDA_OUT() {GPIOG->CRL&=0XF0FFFFFF;GPIOG->CRL|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PGout(7) //SDA	  
#define SDA_IN()  {GPIOG->CRL&=0X0FFFFFFF;GPIOG->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOG->CRL&=0X0FFFFFFF;GPIOG->CRL|=(u32)3<<28;}

//IO方向设置
#define IIC_SDA    PGout(8) //SDA	  
#define SDA_IN()  {GPIOG->CRH&=0XFFFFFFF0;GPIOG->CRH|=(u32)8<<0;}
#define SDA_OUT() {GPIOG->CRH&=0XFFFFFFF0;GPIOG->CRH|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PGout(9) //SDA	  
#define SDA_IN()  {GPIOG->CRH&=0XFFFFFF0F;GPIOG->CRH|=(u32)8<<4;}
#define SDA_OUT() {GPIOG->CRH&=0XFFFFFF0F;GPIOG->CRH|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PGout(10) //SDA	  
#define SDA_IN()  {GPIOG->CRH&=0XFFFFF0FF;GPIOG->CRH|=(u32)8<<8;}
#define SDA_OUT() {GPIOG->CRH&=0XFFFFF0FF;GPIOG->CRH|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PGout(11) //SDA	  
#define SDA_IN()  {GPIOG->CRH&=0XFFFF0FFF;GPIOG->CRH|=(u32)8<<12;}
#define SDA_OUT() {GPIOG->CRH&=0XFFFF0FFF;GPIOG->CRH|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PGout(12) //SDA	  
#define SDA_IN()  {GPIOG->CRH&=0XFFF0FFFF;GPIOG->CRH|=(u32)8<<16;}
#define SDA_OUT() {GPIOG->CRH&=0XFFF0FFFF;GPIOG->CRH|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PGout(13) //SDA	  
#define SDA_IN()  {GPIOG->CRH&=0XFF0FFFFF;GPIOG->CRH|=(u32)8<<20;}
#define SDA_OUT() {GPIOG->CRH&=0XFF0FFFFF;GPIOG->CRH|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PGout(14) //SDA	  
#define SDA_IN()  {GPIOG->CRH&=0XF0FFFFFF;GPIOG->CRH|=(u32)8<<24;}
#define SDA_OUT() {GPIOG->CRH&=0XF0FFFFFF;GPIOG->CRH|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PGout(15) //SDA	  
#define SDA_IN()  {GPIOG->CRH&=0X0FFFFFFF;GPIOG->CRH|=(u32)8<<28;}
#define SDA_OUT() {GPIOG->CRH&=0X0FFFFFFF;GPIOG->CRH|=(u32)3<<28;}



//IO方向设置
#define IIC_SDA    PHout(0) //SDA	  
#define SDA_IN()  {GPIOH->CRL&=0XFFFFFFF0;GPIOH->CRL|=(u32)8<<0;}
#define SDA_OUT() {GPIOH->CRL&=0XFFFFFFF0;GPIOH->CRL|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PHout(1) //SDA	  
#define SDA_IN()  {GPIOH->CRL&=0XFFFFFF0F;GPIOH->CRL|=(u32)8<<4;}
#define SDA_OUT() {GPIOH->CRL&=0XFFFFFF0F;GPIOH->CRL|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PHout(2) //SDA	  
#define SDA_IN()  {GPIOH->CRL&=0XFFFFF0FF;GPIOH->CRL|=(u32)8<<8;}
#define SDA_OUT() {GPIOH->CRL&=0XFFFFF0FF;GPIOH->CRL|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PHout(3) //SDA	  
#define SDA_IN()  {GPIOH->CRL&=0XFFFF0FFF;GPIOH->CRL|=(u32)8<<12;}
#define SDA_OUT() {GPIOH->CRL&=0XFFFF0FFF;GPIOH->CRL|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PHout(4) //SDA	  
#define SDA_IN()  {GPIOH->CRL&=0XFFF0FFFF;GPIOH->CRL|=(u32)8<<16;}
#define SDA_OUT() {GPIOH->CRL&=0XFFF0FFFF;GPIOH->CRL|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PHout(5) //SDA	  
#define SDA_IN()  {GPIOH->CRL&=0XFF0FFFFF;GPIOH->CRL|=(u32)8<<20;}
#define SDA_OUT() {GPIOH->CRL&=0XFF0FFFFF;GPIOH->CRL|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PHout(6) //SDA	  
#define SDA_IN()  {GPIOH->CRL&=0XF0FFFFFF;GPIOH->CRL|=(u32)8<<24;}
#define SDA_OUT() {GPIOH->CRL&=0XF0FFFFFF;GPIOH->CRL|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PHout(7) //SDA	  
#define SDA_IN()  {GPIOH->CRL&=0X0FFFFFFF;GPIOH->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOH->CRL&=0X0FFFFFFF;GPIOH->CRL|=(u32)3<<28;}

//IO方向设置
#define IIC_SDA    PHout(8) //SDA	  
#define SDA_IN()  {GPIOH->CRH&=0XFFFFFFF0;GPIOH->CRH|=(u32)8<<0;}
#define SDA_OUT() {GPIOH->CRH&=0XFFFFFFF0;GPIOH->CRH|=(u32)3<<0;}

//IO方向设置
#define IIC_SDA    PHout(9) //SDA	  
#define SDA_IN()  {GPIOH->CRH&=0XFFFFFF0F;GPIOH->CRH|=(u32)8<<4;}
#define SDA_OUT() {GPIOH->CRH&=0XFFFFFF0F;GPIOH->CRH|=(u32)3<<4;}

//IO方向设置
#define IIC_SDA    PHout(10) //SDA	  
#define SDA_IN()  {GPIOH->CRH&=0XFFFFF0FF;GPIOH->CRH|=(u32)8<<8;}
#define SDA_OUT() {GPIOH->CRH&=0XFFFFF0FF;GPIOH->CRH|=(u32)3<<8;}

//IO方向设置
#define IIC_SDA    PHout(11) //SDA	  
#define SDA_IN()  {GPIOH->CRH&=0XFFFF0FFF;GPIOH->CRH|=(u32)8<<12;}
#define SDA_OUT() {GPIOH->CRH&=0XFFFF0FFF;GPIOH->CRH|=(u32)3<<12;}

//IO方向设置
#define IIC_SDA    PHout(12) //SDA	  
#define SDA_IN()  {GPIOH->CRH&=0XFFF0FFFF;GPIOH->CRH|=(u32)8<<16;}
#define SDA_OUT() {GPIOH->CRH&=0XFFF0FFFF;GPIOH->CRH|=(u32)3<<16;}

//IO方向设置
#define IIC_SDA    PHout(13) //SDA	  
#define SDA_IN()  {GPIOH->CRH&=0XFF0FFFFF;GPIOH->CRH|=(u32)8<<20;}
#define SDA_OUT() {GPIOH->CRH&=0XFF0FFFFF;GPIOH->CRH|=(u32)3<<20;}

//IO方向设置
#define IIC_SDA    PHout(14) //SDA	  
#define SDA_IN()  {GPIOH->CRH&=0XF0FFFFFF;GPIOH->CRH|=(u32)8<<24;}
#define SDA_OUT() {GPIOH->CRH&=0XF0FFFFFF;GPIOH->CRH|=(u32)3<<24;}

//IO方向设置
#define IIC_SDA    PHout(15) //SDA	  
#define SDA_IN()  {GPIOH->CRH&=0X0FFFFFFF;GPIOH->CRH|=(u32)8<<28;}
#define SDA_OUT() {GPIOH->CRH&=0X0FFFFFFF;GPIOH->CRH|=(u32)3<<28;}

方便以后直接复制。

特此记录

anlog

2024年1月6日

文章来源:https://blog.csdn.net/anlog/article/details/135431607
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。