主题中讨论的其他器件:TCA9548A、
我对使用此电机驱动器有一个问题。
我将三个 DRV 连接到 TCA9548A (多路复用器)。
第一个 DRV 连接到 SD0/SC0、第二个连接到 SD1/SC1、最后一个连接到 SD2/SC2、如下所示 PDF 文件(请参阅)。
e2e.ti.com/.../08302022_5F00_I2C-Circuit-Pilot-Test-Diagram.pdf
此外、我还使用波形库效果列表制作了一个代码来按顺序控制三个 DRV、如下所示:
#include
#include
#define TCAADDR 0x70
SFE_HMD_DRV2605L HMD;
void tcaselect (uint8_t i){
if (i>7) return;
Wire.beginTransmission(TCAADDR);
Wire.write (1<<i);
wire.endTransmission ();
}
void setup(){
Wire.begin();
HMD.begin();
HMD.Mode (0x00);
HMD.MotorSelect (0x86);
HMD.Library (6);
//将您的设置代码放在这里,运行一次:
}
void loop(){
//将主代码放在此处,重复运行:
对于(int i=0;i<4;i++){
tcaselect ㈠;
HMD.Waveform (0、1);
HMD.Waveform (1、0);
hmd.go ();
延迟(1000);
}
}
但是、当我尝试运行此代码时、有时第三个代码会运行、这不是我所期望的。
为了让我的方案运行此代码、我希望按顺序在0至2之间运行 DRV。 但是当我看到这个问题时、我多次按下复位按钮。 最后、它将正确运行。
我不知道这个问题发生了什么。
请告诉我解决方案。