Contact me: hankecnc@gmail.com

MAX6675存在SDSUPPORT缺陷 #167

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

MAX6675存在SDSUPPORT缺陷 #167

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

评论

MAX6675存在SDSUPPORT缺陷 #167

定义SDSUPPORT时,当前代码tp_init()不会初始化MOSI、MISO、SCK引脚。 (It还应将硬件SS引脚初始化为输出。) 其初始化MAX6675_SS,这是正确的。 然而,由于tp_init()使能定时器中断时其他SPI引脚尚未配置为输入/输出,因此SPI尚未初始化,定时器中断将挂起,进入无限循环。

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

/*
SD卡初始化输入/输出的SPI引脚。
定义SDSUPPORT时,max6675取决于此初始化。
*/
#如果已定义(SDSUPPORT)
卡片初始化();
结束编号
tp_初始化(); //初始化温度循环

我还修改了temperature.cpp,使其初始化SS引脚。 这允许我使用MAX6675_SS的任何引脚。

#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
MAX6675存在SDSUPPORT缺陷 #167
贡献者

近3年来没有评论等。正在关闭…如果问题仍然存在,则重新打开