#define SDA_IN() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8<<12;}
#define SDA_OUT() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=3<<12;}
//IO操作函数
#define IIC_SCL PCout(12) //SCL
#define IIC_SDA PCout(11) //SDA
#define READ_SDA PCin(11) //输入SDA
#define SDA_IN() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8<<12;}这是不是定义成时钟了呢?谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
#define SDA_IN() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8<<12;}
这一条本来就是把PC11模拟成SDA了,你的PC12是被模拟成SCL,这个你要分清楚
比如你要把PC8模拟成SDA,那就是
#define SDA_IN() {GPIOC->CRH&=0XFFFFFFF0;GPIOC->CRH|=8<<0;}
比如你要把PC9模拟成SDA,那就是
#define SDA_IN() {GPIOC->CRH&=0XFFFFFF0F;GPIOC->CRH|=8<<4;}
自己对比一下
一周热门 更多>