You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32串口监视器异常:TMC2209驱动通信测试无输出

ESP32连接TMC2209后串口监视器无输出问题

我是新手,正在尝试将ESP32模块与TMC2209驱动连接,使用janelia-arduino的TMC2209库进行测试。运行库中的波特率测试示例后,VSCode的PlatformIO串口监视器中看不到任何输出。以下是我的PlatformIO配置、测试代码,以及串口监视器截图:

串口监视器截图

PlatformIO配置

[env:nodemcu-32s]
platform = espressif32
board = nodemcu-32s
framework = arduino
lib_deps = janelia-arduino/TMC2209@^9.0.6
monitor_speed = 115200

测试代码

#include <Arduino.h>
#include <TMC2209.h>

// 本示例不适用于无硬件串口的Arduino板,比如Uno、Nano和Mini。
// 更多细节参考:
// https://www.arduino.cc/reference/en/language/functions/communication/serial/

HardwareSerial & serial_stream = Serial1;

const long SERIAL_BAUD_RATE = 115200;
const long SERIAL1_BAUD_RATE_COUNT = 10;
const long SERIAL1_BAUD_RATES[SERIAL1_BAUD_RATE_COUNT] =
{
  500000,
  250000,
  115200,
  57600,
  38400,
  31250,
  28800,
  19200,
  14400,
  9600
};
const uint8_t SUCCESSIVE_OPERATION_COUNT = 3;
const int DELAY = 2000;

// 实例化TMC2209
TMC2209 stepper_driver;
uint8_t serial1_baud_rate_index = 0;

const int RX_PIN = 3;
const int TX_PIN = 1;


void setup()
{
  Serial.begin(SERIAL_BAUD_RATE);
}

void loop()
{
  long serial1_baud_rate = SERIAL1_BAUD_RATES[serial1_baud_rate_index++];
  //stepper_driver.setup(serial_stream, SERIAL_BAUD_RATE, TMC2209::SERIAL_ADDRESS_0, RX_PIN, TX_PIN);
  //stepper_driver.setup(serial_stream,serial1_baud_rate);
  stepper_driver.setup(serial_stream, serial1_baud_rate, TMC2209::SERIAL_ADDRESS_1, RX_PIN, TX_PIN);
  if (serial1_baud_rate_index == SERIAL1_BAUD_RATE_COUNT)
  {
    serial1_baud_rate_index = 0;
  }

  bool test_further = false;

  Serial.println("*************************");
  Serial.print("serial1_baud_rate = ");
  Serial.println(serial1_baud_rate);

  if (stepper_driver.isSetupAndCommunicating())
  {
    Serial.println("步进驱动器已设置并通信正常!");
    test_further = true;
  }
  else
  {
    Serial.println("步进驱动器未设置或通信异常!");
  }

  if (test_further)
  {
    uint32_t microstep_sum = 0;
    for (uint8_t i=0; i<SUCCESSIVE_OPERATION_COUNT; ++i)
    {
      microstep_sum += stepper_driver.getMicrostepsPerStep();
    }
    if (microstep_sum > 0)
    {
      Serial.println("连续读取测试通过!");
    }
    else
    {
      Serial.println("连续读取测试失败!");
    }
    uint8_t itc_begin = stepper_driver.getInterfaceTransmissionCounter();
    for (uint8_t i=0; i<SUCCESSIVE_OPERATION_COUNT; ++i)
    {
      stepper_driver.disable();
    }
    uint8_t itc_end = stepper_driver.getInterfaceTransmissionCounter();
    if (itc_begin != itc_end)
    {
      Serial.println("连续写入测试通过!");
    }
    else
    {
      Serial.println("连续写入测试失败!");
    }
  }

  Serial.println("*************************");
  Serial.println();
  delay(DELAY);
}

内容的提问来源于stack exchange,提问作者peetman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 11:35:30