一、串口输出问题

1.情况一

main

void setup() {
  esp32DebugInit();
}

void loop() {
  mySerial.println("bbbbbbbbbbb");
  delay(1000);
}

debug.h

#define TX_PIN 16
#define RX_PIN 17

static HardwareSerial mySerial(2);

void esp32DebugInit(void);

debug.c

void esp32DebugInit(){
    mySerial.begin(115200,SERIAL_8E1,RX_PIN,TX_PIN);
    analogReadResolution(12);
    mySerial.println("aaaaaaaaa");
}

结果
无法输出 bbbbbbbbbbb
只有 aaaaaaaaa
在这里插入图片描述

2.情况二

main

void setup() {
  esp32DebugInit(&mySerial);
}

void loop() {
  mySerial.println("bbbbbbbbbbb");
  delay(1000);
}

debug.h

#define TX_PIN 16
#define RX_PIN 17

static HardwareSerial mySerial(2);

void esp32DebugInit(HardwareSerial *mySerial);

debug.c

void esp32DebugInit(HardwareSerial *mySerial){
    mySerial->begin(115200,SERIAL_8E1,RX_PIN,TX_PIN);
    analogReadResolution(12);
    mySerial->println("aaaaaaaaa");
}

结果
都能输出
在这里插入图片描述

为什么????

二、

1.情况一

sprintf(data,"x:%d  y:%d",tmp_x,tmp_y);
mySerial.println(data);

结果
能完整输出

2.情况二

sscanf(data,"x:%d  y:%d",tmp_x,tmp_y);
mySerial.println(data);

结果
无法输出

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐