当前位置:首页 » 《随便一记》 » 正文

I2C通信与解码笔记_Hello_Ray的博客

15 人参与  2022年06月03日 13:42  分类 : 《随便一记》  评论

点击全文阅读


I2C开始

根据如下图显示是I2C开始的的信号处理,从左到有的来看,在SCL为1高电平时候,SDA发生了由 1高电平0低电平 的转换。
在这里插入图片描述

void I2C_Start(void)
{
	I2C_SDA=1;
	I2C_SCL=1;
	I2C_SDA=0;
	I2C_SCL=0;
}

I2C结束

在SCL为1高电平时候,SDA发生了由 0低电平1高电平 的转换。
在这里插入图片描述

SDA=0;
SCL=1;
SDA=1;

I2C接收的方法与波形对比

遵循上面的时序分析的思路,我们查看接收数据位的波形变化。

接收一个字节:SCL低电平期间,从机将数据位依次放到SDA线上(高位在前),然后拉高SCL,主机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可接收一个字节(主机在接收之前,需要释放SDA)
在这里插入图片描述
下面的代码,假如byte发送的字节为0xFE = 1111 1110;采用的思想就是按位循环的把这些数字给出来,的方式就是用 1 分别 到最后一位(也就是 按位与 )。

void I2C_SendByte(unsigned char Byte)
{
	unsigned char i;
	for(i=0;i<8;i++)
	{
		I2C_SDA=Byte&(0x80>>i);
		I2C_SCL=1;
		I2C_SCL=0;
	}
}

代码每次按位与执行的操作。
第一次:
1111 1110 & 1000 0000 = 1000 0000

第二次:
1111 1110 & 0100 0000 = 0100 0000

第三次:
1111 1110 & 0010 0000 = 0010 0000

第四次:
1111 1110 & 0001 0000 = 0001 0000

第五次:
1111 1110 & 0000 1000 = 0000 1000

依次到最后一位

第八次:
1111 1110 & 0000 0001 = 0000 0000

下面是接收一个字节的代码逻辑

//用一个空的字节去接收,依次进行循环,如果收到SDA为1,移位到 `下标i` 的位置处。
unsigned char I2C_ReceiveByte(void)
{
	unsigned char i,Byte=0x00;
	I2C_SDA=1;
	for(i=0;i<8;i++)
	{
		I2C_SCL=1;
		if(I2C_SDA){Byte|=(0x80>>i);}
		I2C_SCL=0;
	}
	return Byte;
}

接收应答的波形变化与对应的代码逻辑

在这里插入图片描述
注意红框的位置

/**
  * @brief  I2C发送应答
  * @param  AckBit 应答位,0为应答,1为非应答
  * @retval 无
  */
void I2C_SendAck(unsigned char AckBit)
{
	I2C_SDA=AckBit;
	I2C_SCL=1;
	I2C_SCL=0;
}

/**
  * @brief  I2C接收应答位
  * @param  无
  * @retval 接收到的应答位,0为应答,1为非应答
  */
unsigned char I2C_ReceiveAck(void)
{
	unsigned char AckBit;
	I2C_SDA=1;
	I2C_SCL=1;
	AckBit=I2C_SDA;
	I2C_SCL=0;
	return AckBit;
}

图片资源来自 B站江科大自化协老师《51单片机入门教程-2020版 程序全程纯手打 从零开始入门》


点击全文阅读


本文链接:http://zhangshiyu.com/post/41291.html

应答  接收  字节  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 花开花落再无你我小说(方柠赵景行)全文+后续(花开花落再无你我)无套路阅读
  • 全文高考当天,我放任校花调转送考大巴带全班救首富精选作品(周清清傅煜许曦)列表_全文高考当天,我放任校花调转送考大巴带全班救首富精选作品
  • 全书浏览最终还是失去你免费(苏棠月靳延)_最终还是失去你免费(苏棠月靳延)全书结局
  • 如果眼睛看得到在线阅读_沈明初小昭高希希阅读_小说后续在线阅读_无删减免费完结_
  • 元婴归来我在都市当学霸仙尊全书苏北林风在线
  • 谢承钧小说整本+后续(穿成佛子的恶毒后妈)清爽版阅读
  • 你惹她干啥她疯起来嘎乱杀结局+番外+完结(楚瑶)全书浏览_你惹她干啥她疯起来嘎乱杀结局+番外+完结全书浏览
  • 清冷逆徒动情后,反派师尊被缠哭(洛凝墨寒砚)_清冷逆徒动情后,反派师尊被缠哭
  • 高考分数出来那天,全家哭着求我原谅后续+番外_何思涵妹妹何思墨未删减_小说后续在线阅读_无删减免费完结_
  • 婚礼前夜未婚夫喂我安眠药,只为让养妹当新娘独家番外_许绍宁养妹全文_小说后续在线阅读_无删减免费完结_
  • 以身入局,我要掀翻这座城的天结局+番外+续集(程少云阮朵)_以身入局,我要掀翻这座城的天结局+番外+续集(程少云阮朵)
  • 出狱后,真千金手撕白莲杀疯了全文免费阅读无弹窗大结局_秦季姜沁最新章节列表_笔趣阁(出狱后,真千金手撕白莲杀疯了:完结+结局+番外)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1