stm32f103c8t6只有部分I/O能用

2019-07-21 07:12发布

我用PB6 PB7 仿了一个IIC协议,把其改为其他口后就不能用了这是改后的代码
#define SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<20;}//  00100
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<20;}//  00011

#define IIC_SCL    PBout(4)                 //SCL
#define IIC_SDA    PBout(5)                 //SDA         
#define READ_SDA   PBin(5)                          //ê&#228;è&#235;SDA

这是改前的代码
//IO方向设置
#define SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;}//  00100
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;}//  00011

//IO操作函数         
#define IIC_SCL    PBout(6)                 //SCL
#define IIC_SDA    PBout(7)                 //SDA         
#define READ_SDA   PBin(7)                          //输入SDA

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。