"); //-->
单片机内置的硬件I2C部件大家已经很熟悉了,现在给大家介绍一种自己修改之后的软件I2C通信协议,在适当的时候可能会给自己的系统带来更多的灵活性。
软件I2C在使用中硬件链路同样是两线制,一根时钟线(CLK),一根数据线(DATA)。数据传送方式为空闲时间CLK和DATA均为高电平,CLK拉低开始数据传送,CLK低电平期间对DATA赋值,CLK高电平期间数据稳定可以做数据接收。高低电平的周期和比例可以根据自己系统的时钟和数据处理灵活调整,一次数据传送的BIT数要事先约定好,方便后面的数据接收处理。
软件处理过程如下:对于发送端,CLK拉低开始数据传送,并在CLK低电平期间给DATA赋值,赋值成功之后把CLK拉高,适当延时即可以开始下一BIT位数据的传送。对于接收端,为了能够及时检测到有数据传送,应该吧CLK接到外部中断管脚,并开启相应的外部中断,触发方式选择为下降沿触发,这样一旦有数据传送就可以检测到,并在中断服务程序中完成一次数据接收,CLK低电平期间做循环等待,高电平期间做数据检测储存。
该软件I2C通信协议是对硬件I2C部件的一种简化处理,使用中根据自己的系统设计灵活处理,在很多使用过程中都会给你带来方便。
以下程序是一段发射端的实例代码,仅供大家参考:
void status_out(uint8_t hdd_status)
{
uint8_t i;
uint8_t test;
for(i=0; i<8; i++)
{
scl_low;
test = (1 << i);
if(hdd_status & test)
{
sda_high;
}
else
{
sda_low;
}
delay(10);
scl_high;
delay(20);
}
scl_high;
sda_high;
}
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
浅谈电视机各式保护电路
LabVIEW网络讲坛第三季——第一期:基本结构框架的新特征
平行导线通过有割缝地层时的影响的时域分析图形
SK海力士首次向客户提供12层HBM4样品,预计下半年量产
TDK推出电流高达1600mA的车载同轴电缆供电(PoC)电感器
欧洲半导体公司呼吁制定欧盟芯片法案2.0
AI推理应用爆发推升QLC NAND Flash市场需求
元太科技携手瑞昱半导体 发表第二代整合系统于基板的电子纸价签
用CD4046组成的相位检测仪
用门电路组成的脉冲解调器
请教几个问题
清华大学知名教授解读点石成金的微电子产业(中)
关于ads的license
LabVIEW网络讲坛第三季——第二期:状态机(上集)
QNX Neutrino RTOS 的内核
罗克韦尔自动化在NVIDIA GTC 2025大会上首次展示Emulate3D Factory Test
嵌入式实时系统开发的正确选择
51单片机试验板
波士顿动力Atlas机器人超进化:会跳托马斯 动作完美复刻人类
McObject extremeDB实时数据库
用门电路组成LED电压表
NI PAC平台引领工业控制发展新技术
由CD4046组成的温度-频率变换电路
用CD4046组成的比较式电容检测仪
浅析新材料在高密度电子封装上的应用及发展前景
欧盟重拳砸向硅谷!指控谷歌垄断 苹果被逼“拆墙”
清华大学知名教授解读点石成金的微电子产业(上)
尼得科精密检测科技将参展CPCA Show 2025
浅谈多层印制电路板的设计和制作
英飞凌与Eatron将双方在AI电池管理解决方案方面的合作范围扩展至工业和消费应用领域