Contact me: hankecnc@gmail.com

MAX6675存在SDSUPPORT缺陷 #168

推推 grbl 3年前 (2023-01-25) 257次浏览
新问题

MAX6675存在SDSUPPORT缺陷 #168

 关闭
特兰托 打开此问题 on May 18, 2012 ·1评论

评论

MAX6675存在SDSUPPORT缺陷 #168

当前代码 tp_初始化() 不初始化 莫西 , 米索 , SCK 引脚时 SD支持定义。 (It还应将硬件SS引脚初始化为输出。) 它会初始化 MAX 6675_不锈钢这是正确的。 然而,由于其他SPI引脚尚未配置为输入/输出,因此 tp_初始化()使能定时器中断,由于SPI尚未初始化,它将在无限循环中挂起。

将card. initsd()移到tp_init()之前是解决此问题的一种方法。 card.initsd() prior to tp_init() is one solution to this problem. 下面是我在marlin.pde中使用的修复方法。 marlin.pde .

  /*
    SD card initializes the SPI pins for input/output.
    When SDSUPPORT is defined, the max6675 depends on this initialization.
  */
  #if defined(SDSUPPORT)
    card.initsd();
  #endif
   tp_init();    // Initialize temperature loop 

我还修改了 temperature.cpp所以它初始化了SS引脚。 这允许我使用任何引脚 MAX6675_不锈钢

    #if !defined(SDSUPPORT)
      SET_OUTPUT(MAX_SCK_PIN);
      WRITE(MAX_SCK_PIN,0);

      SET_OUTPUT(MAX_MOSI_PIN);
      WRITE(MAX_MOSI_PIN,1);

      SET_INPUT(MAX_MISO_PIN);
      WRITE(MAX_MISO_PIN,1);

      SET_OUTPUT(MAX_SS_PIN);
      WRITE(MAX_SS_PIN,1);
    #endif