ministm32f103的iic的SDA_IN()与SDA_OUT()宏定义是不是有误????

2019-08-14 06:22发布

#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;}这是不是定义成时钟了呢?谢谢!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
BJTT
1楼-- · 2019-08-15 06:32
cdjybchz 发表于 2017-8-7 12:41
#define SDA_IN()  {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8CRH|=8

#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;}

自己对比一下
吃瓜群众
2楼-- · 2019-08-15 09:40
 精彩回答 2  元偷偷看……
jk501
3楼-- · 2019-08-15 11:35
需要ST品牌的样品吗? 填一份扫IC网问卷可以得到三种ST任意型号的样品。[url= https://www.wjx.top/jq/15943942.aspx]》》点击此处申请 [/url]

一周热门 更多>