普通IO口模拟实现I2C通信及应用解析
来源:互联网 发布:软件升级必然凯文凯利 编辑:程序博客网 时间:2024/04/30 06:35
根据I2C通信规范(具体可以参考“浅谈I2C总线”),通过普通IO端口模拟可以实现单片机(主设备)与从设备的I2C通信,其中SCL通过IO口延时高低电平变化实现,SDA根据SCL状态变化产生开始信号,结束信号,以及实现发送接收数据等,以下是相关代码
需要注意模拟SCL采用的延时需要根据从设备的特性来调整,延时时间不能小于从设备的最小SCL间隔时间
既然已经通过IO端口实现了I2C通信,那么,我们就可以用以上代码实现单片机与相应从设备I2C的通信了,以EEPROM 24C04为例,以下是读取和写入EEPROM数据相关函数的代码
需要注意不同的从设备要根据应用电路调整相应的从设备地址。
采用IO口来模拟I2C通信,一般仅用于单片机没有I2C功能的情况下,如果单片机本身具有I2C功能,还是应该通过配置单片机相应的寄存器,通过中断来实现I2C通信,因为模拟SCL采用的延时就是一个空等待,对于整个操作系统来说,这是一个资源浪费,同时还有可能会影响到其他任务的运行。
0 0
- 普通IO口模拟实现I2C通信及应用解析
- 普通IO口模拟实现SPI通信及应用解析
- 普通IO模拟i2c总线
- PIC单片机-普通IO口模拟I2C总线对24C02进行读写操作
- 笔记四:linux下IO口模拟实现I2C协议
- 普通GPIO口线模拟I2C
- gec210 i2c程序io模拟方式实现
- I2C总线及单片机模拟I2C总线通信程序编写
- ZigBee 用IO口模拟I2C驱动程序
- IO口模拟I2C收发信息
- STM32 IO口模拟I2C+驱动MPU6050
- IO模拟I2C代码
- io模拟i2c程序
- IO模拟I2C
- I2C模拟通信
- 51单片机普通IO口模拟IIC总线的程序实现
- 51单片机普通IO口模拟IIC总线的程序实现
- RFID相关——普通IO口模拟SPI总线的实现:
- 小心骗子,买放心机票
- MyBatis Spring整合配置映射接口类与映射xml文件
- 网站是否要修改标题
- Afinal 框架 Afinal DB的学习
- OGNL使用小结
- 普通IO口模拟实现I2C通信及应用解析
- 音视频对讲SDK让游戏嗨起来
- 【unity3d Editor开发】简单节点编辑器(二)
- 搁浅岁月,幸福就在身边
- 堆与堆排序
- windows 下搭建git服务器,及问题处理。
- 泻药的几种不良反应
- hdu4961-Boring Sum
- oracle login_audit trigger