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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!