微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > IO口模拟IIC主机的问题

IO口模拟IIC主机的问题

时间:10-02 整理:3721RD 点击:
今天写了一个IO模拟IIC的程序,发现不少问题:
1、主机模拟IIC端口配置成开漏,主机释放SDA后,从机不能将SDA拉到低电平(这时是主机读,而数据刚好是0);SCL上升沿很缓。
2、主机模拟IIC端口配置成推挽,虽然SCL很陡了,但读数据0时电平依然有700mv左右的电平;如果读的时候设成开漏也不行;而且会影响多主机的电平。
3、在主机上显示的数据都是对的,但总觉得不能接受,难道用mcu仿iic不能做得好些,还是我的程序有问题?

看了下IIC的规范,其中有低电平和高电平的值:



也就是我测的700mv没有问题,大家看呢?

但总觉得不能接受

SCL需要配置为推挽输出,此时SCL就不需要增加上拉电阻了。
SDA需要配置为双向状态,如果不能配置为双向状态,则MCU向从器件发送时设置为输出状态,在MCU读取时设置为输入状态。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top