esp32s3运行一个简单程序一晚, 居然热得自己把自己给烧掉了
Posted: Mon May 08, 2023 4:20 pm
就运行这个程序一晚上,早上起来发现非常热, 再试已经不能连机了,电流始终0.5安.
就下面这个小程序:
/**
* 这是主机的程序
*/
#include <Wire.h>
int num = 1; //用来发送给从机
int address = 33; //从机地址
void setup() {
Serial.begin(115200);
if(Wire.begin(5,4)) //SDA SCL;主机加入I2C总线中
Serial.println("i2c success");
else
Serial.println("i2c failed");
}
void loop() {
//列举设备
// for(int i=0;i<=127;i++){
// Wire.beginTransmission(i);
// int ret = Wire.endTransmission();
// if(ret==0){
// Serial.println(i,ret);
// }
// }
// delay(1000);
// return;
Wire.beginTransmission(6);
Wire.write(0x03);
Wire.endTransmission();
Wire.requestFrom(6,1);
char c=Wire.read();
Serial.printf("%d %x\r\n",1, c);
Wire.beginTransmission(6);
Wire.write(0x04);
Wire.endTransmission();
Wire.requestFrom(6,1);
char c1=Wire.read();
Serial.printf("%d %x\r\n",2, c1&0x1f);
uint16_t u16=0;
u16=((uint16_t)c1&0x3f) | ((uint16_t)c<<6);
Serial.printf("%d %d\r\n",3, u16);
delay(100);
return;
}
就下面这个小程序:
/**
* 这是主机的程序
*/
#include <Wire.h>
int num = 1; //用来发送给从机
int address = 33; //从机地址
void setup() {
Serial.begin(115200);
if(Wire.begin(5,4)) //SDA SCL;主机加入I2C总线中
Serial.println("i2c success");
else
Serial.println("i2c failed");
}
void loop() {
//列举设备
// for(int i=0;i<=127;i++){
// Wire.beginTransmission(i);
// int ret = Wire.endTransmission();
// if(ret==0){
// Serial.println(i,ret);
// }
// }
// delay(1000);
// return;
Wire.beginTransmission(6);
Wire.write(0x03);
Wire.endTransmission();
Wire.requestFrom(6,1);
char c=Wire.read();
Serial.printf("%d %x\r\n",1, c);
Wire.beginTransmission(6);
Wire.write(0x04);
Wire.endTransmission();
Wire.requestFrom(6,1);
char c1=Wire.read();
Serial.printf("%d %x\r\n",2, c1&0x1f);
uint16_t u16=0;
u16=((uint16_t)c1&0x3f) | ((uint16_t)c<<6);
Serial.printf("%d %d\r\n",3, u16);
delay(100);
return;
}