请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F5529 主题中讨论的其他器件: Energia
感觉这应该是一个很容易解决的问题、但这让我头疼。
我有一个 MSP430F5529 Launchpad、其中7.5k Ω 电阻器用作3V3的上拉电阻器。 当我运行代码并将 SDA 和 SCL 直接连接到示波器时、SDA 和 SCL 都保持高电平。
我已经发现 Wire.endTransmission ()导致代码延迟、所以我将其注释掉。 此外,当我离开所有 serial.print 命令时,我可以根据监视器看到它正在循环()。
#include
字节 IDLE = 0x00;// TIDLE min = 4个时钟脉冲,但可以更长
的字节开始= 0x05;
字节 TIDHIGH = 0x02;
字节 TIDLOW = 0x03;
字节 CNTL = 0x7D;
字节 Cpty = 1;
字节 D1;
字节 D2;
void setup(){
Serial.begin(9600); //开始串行输出
延迟(100);
Wire.begin();
}
void loop(){
DataForum();
//
Serial.print ("D1:");
Serial.print (D1、hex);
Serial.print ("\n");
serial.print ("开始:");
serial.print (开始、十六进制);
serial.print ("\n");
serial.print ("TID:");
serial.print (TIDlow、hex);
serial.print ("\n");
serial.print ("cNTL:");
serial.print (cNTL、 十六进制);
Serial.print ("\n");
*/
Wire.beginTransmission(0x03);
Wire.write (Start);
//Wire.endTransmission ();
}
void DataFormation (void){
byte temp;
D1 =开始;
temp =(D1 << 3)| TIDlow;
D1 =(temp << 2)|(CNTL >> 6);
}