首页 > 其他 > 详细

IIC的SDA_IN SDA_OUT

时间:2019-10-25 10:35:23      阅读:121      评论:0      收藏:0      [点我收藏+]

技术分享图片

技术分享图片

#define SDA_IN()       {GPIOB->CRL&=0XF0FFFFFF;GPIOB->CRL|=8<<24;}
#define SDA_OUT()   {GPIOB->CRL&=0XF0FFFFFF;GPIOB->CRL|=3<<24;}

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

GPIOB->CRL:PB端口的低位寄存器,

0XF0FFFFFF,由上图8.2.1可知对应的是CF6[1:0]和MODE6[1:0]

8<<24:0X08000000  即  0000 1000 0000 0000   0000 0000 0000 0000

10 00

在输入模式MODE[1:0]=00

10:上拉/下拉输入模式

3<<24:0X03000000  即  0000 0011 0000 0000   0000 0000 0000 0000

00 11

在输出模式MODE[1:0]>00

00:通用推挽输出

总结:SDA_IN           PB6上拉/下拉输入

   SDA_OUT  PB6通用推挽输出

验证:

经实际验证,准确无误!

IIC的SDA_IN SDA_OUT

原文:https://www.cnblogs.com/ys77/p/11736451.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!