微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 对I2C学习板一些你可能不了解的东西

对I2C学习板一些你可能不了解的东西

时间:10-02 整理:3721RD 点击:
以前做I2C实验时总是有时候对有时候不对十分不可靠,今天买回了逻辑分析仪,程序如下:
void send(uchar dat)
{
uchar i;
for(i=0; i<8; i++)
{
  dat <<= 1;
  sda = CY;
  delay();
  scl = 1;
  delay();
  scl = 0;
}
}
把总线协议查看了一次发现发送数据时SDA 线的数据居然比SCL 线的电平拉得慢0.125US,十分奇怪于是换个IO口却是正常的,
突然想起来24C02和DS1302的I2C线是一起共用的,可能是时钟芯片影响到的。于是把时钟芯片的复位端拉0后24C02上查看的I2C可以正常工作了。所以在这里可以提示下大家I2C可能没有注意到的问题

受教、!什么时钟芯片,低电平是取消复位还是复位?

很好的提醒

就是说:几个模块共用I2C总线的时候可能会相互影响...对么? 谢谢小编
另外,手册上说,ds1302使用i2c 会降低性能哟.....是么

感谢提醒

我要学的还很多,受教了

我也不清楚,但是我现在就是这个问题

DS1302,那个是功能端,可以识别你写数据结束的。但是写东西时一定要为高才行。把这个脚拉低I2C可以正常工作了,有可能就是写时这个芯片也作了回应。我拉高电平时他居然会自动占用数据线把电平拉低,你知道是为什么吗,这个现象在写一个命令时就出现了

很好的提醒

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

网站地图

Top