记录I2C使用时出现的问题-LPC4088

在无伺服电机的环境下,只存在16个步进电机

 

第一种接线方式

 

  通过逻辑分析仪得出SDA和SCL干扰很大,猜测的原因是:10K和3.3K电阻不相等,1米的线子是有电阻的。当SCL变化为低电平时,10K和3.3K流过的电流不一致,造成1米的屏蔽线上的压降不同。

 

第二种接线方式

 

 

通过逻辑分析仪得出SDA和SCL干扰很小了,偶尔SDA和SCL会有出现窄的脉冲。猜测的原因是:1.10K电阻太大了 2. 1米的线子太长 这个两方面原因造成的,负载太小了。

后改成20CM的杜邦线,通讯变正常了。

方案三

 

 通过逻辑分析仪得出SDA和SCL基本没有干扰了,可以正常通讯了。

 

器件:LPC4088

LPC的硬件库函数很奇怪。当我设置了从机地址为0xC0时,LPC发出的从机地址确是0x80.(通过逻辑分析仪得出的)?未知原因。经测试得知是地址左移了一位。可一个改写为(#define  SLA_ADDR    (addr >>1) )即可。

只要把下位机地址设置成0x80便可以与上位机正常通讯了。

  

 

 

 

posted @ 2019-12-26 14:05  若静尚好  阅读(482)  评论(0)    收藏  举报