我使用两个MCP4651双数字电位器,我想控制从Arduino Uno通过I2C。下面是MCP4651的数据表,所以您不必查找它:http://www.farnell.com/datasheets/1789212.pdf
我也会附上PCB原理图,但我没有足够的声誉。
我正试图将我的值写入雨刷1寄存器,如数据表第49页所示。但我的每一个命令,我都没有得到承认。我还附上了示波器的截图。
这是我的密码:
#include <Wire.h>
void setup()
{
Wire.begin();
}
void loop()
{
Wire.beginTransmission(40);
Wire.write(0b10010000);
Wire.write(0b10000000);
Wire.endTransmission(40);
delayMicroseconds(500);
}
I2C协议显然有效,否则我将无法获得公认的地址,我尝试了两个电位器,两个雨刷,写入,增量和递减。一次也没有成功。如果有人知道我做错了什么,我将不胜感激。
发布于 2017-05-18 11:02:48
数据表第49页详细说明了一般调用详细信息。
一般调用命令详见第48页。当您同时使用通用调用地址(0)与所有设备通信时,将使用这些命令。
您正在尝试与总线上的单个设备通信,因此您应该注意从第51页开始的详细命令,特别是表7-1、7-2和图7-1。
https://stackoverflow.com/questions/44007224
复制相似问题