做了一版电路,用的STM32F100系列的使用的是IIC两个管脚接的IIC从设备,不慎把IIC两个脚画反了,也就是信号弄反了。后面调试的时候使用的是模拟IIC调的,刚开始没注意,后面发现电流大,以为单片机坏了,换了之后还是大,到后面终于确定是IIC从设备坏了。于是换了一个好的上去,不一会电流又大了,纳闷,后面再换一个,又电流大,就飞线弄了一下,就正常了。很是奇怪,2个管脚配置是这样的
烧IC的配置
//IO·½ÏòéèÖÃ
#define SDA_IN() {GPIOB->CRL.bit.CFN6 = 2;GPIOB->CRL.bit.MODE6 = 0;}
#define SDA_OUT() {GPIOB->CRL.bit.CFN6 = 0;GPIOB->CRL.bit.MODE6 = 3;}
//IO2ù×÷oˉêy
#define IIC_SCL_1 SET_PB7 //SCL
#define IIC_SDA_1 SET_PB6 //SDA
#define IIC_SCL_0 CLEAR_PB7 //SCL
#define IIC_SDA_0 CLEAR_PB6 //SDA
#define READ_SDA IN_PB7 //êäèëSDA
正常配置
//IO·½ÏòéèÖÃ
#define SDA_IN() {GPIOB->CRL.bit.CFN7 = 2;GPIOB->CRL.bit.MODE7 = 0;}
#define SDA_OUT() {GPIOB->CRL.bit.CFN7 = 0;GPIOB->CRL.bit.MODE7 = 3;}
//IO2ù×÷oˉêy
#define IIC_SCL_1 SET_PB6 //SCL
#define IIC_SDA_1 SET_PB7 //SDA
#define IIC_SCL_0 CLEAR_PB6 //SCL
#define IIC_SDA_0 CLEAR_PB7 //SDA
#define READ_SDA IN_PB7 //êäèëSDA
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
确实是烧了,换了几个都是烧,后面调过来就好了
一周热门 更多>