【问题标题】:Arduino MCP3008 library (spi) + LiquidTWI2 Library (i2c) hangingArduino MCP3008库(spi)+ LiquidTWI2库(i2c)挂
【发布时间】:2016-02-02 15:58:22
【问题描述】:

同时使用 MCP3008 (MCP3008 spi) 和 LiquidTWI2 (mcp23017 i2c) 时,我的 arduino uno 挂起。 我可以单独测试这两个库,它们工作正常,但不能一起测试。

我知道它在第一次使用 LiquidTWI2 对 MCP3008 下一行进行实例化后冻结将挂在 Wire.endTransmission();

这是我在循环函数最后一行之后挂起的示例 (实际上它挂在第二次迭代 lcd.setCursor 上)

  #include <Wire.h>
    #include <LiquidTWI2.h>
    #include <MCP3008.h>
    const int  _CS_PIN2 =9;
    const int  _CS_PIN =10;
    const int  _CLOCK_PIN= 13;
    const int  _MOSI_PIN= 11;
    const int  _MISO_PIN= 12;


    LiquidTWI2 lcd(0x20);

    void setup() {
      lcd.setMCPType(LTI_TYPE_MCP23017); 
      lcd.begin(16, 2);
      lcd.print("hello, world!");
    }

    void loop() {
      lcd.setCursor(0, 1); //freeze on second iteration
      lcd.print(millis()/1000);
      MCP3008  adc2(_CLOCK_PIN, _MOSI_PIN, _MISO_PIN, _CS_PIN2);
     }

任何帮助将不胜感激。

【问题讨论】:

    标签: arduino i2c spi


    【解决方案1】:

    对不起各位,是短路造成的故障情况。 我现在可以向您保证,两个库正在协同工作,不会相互干扰。

    问题详情: MCP3008 的 CS 支路与 VDD 线短路。 在这种状态下,经过 pinMode(_CSPIN,OUTPUT); MCP3008 构造函数中的语句,LiquidTWI2 上的 Wire.endTransmission() 将挂起。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-16
      • 2023-04-06
      • 2017-05-04
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多