Невозможно прочитать из порта MCU23017 - PullRequest
0 голосов
/ 14 июля 2020

Я впервые пытаюсь прочитать из PORTB MCP23017. При чтении я получаю 255, когда печатаю значение. Пожалуйста, помогите мне в этом, где я ошибаюсь?

Заранее спасибо!

#define MCP_ADDRESS_1 0x20
#define PORT_A_ADDRESS 0x12


  #include <Wire.h>
  
  byte floorValue = 0;
  
  void setup() { 
  
  Serial.begin(9600);
  Wire.begin(); //creates a Wire object
  Wire.beginTransmission(MCP_ADDRESS_1);  //begins talking again to slave device
  Wire.write(0x01); //selects the IODIRB register
  Wire.write(0xEF); // sets all port B pins to inputs
  Wire.endTransmission(); //ends communication with slave device
  }
  
  void loop()
  {
    readFloor();
  }
  
  
  void readFloor()
  {
    Wire.beginTransmission(0x20); //starts talking to slave device
    Wire.write(0x13); //selects the GPIO pins
    Wire.endTransmission(); //stops talking to device
    int NOB = Wire.requestFrom(0x20, 1); // requests one byte of data from MCP23017
    Serial.print("Number of bytes are:");
    Serial.println(NOB);
    floorValue = Wire.read(); // store the incoming byte into inputs
    Serial.print("The floor value read is:");
    Serial.println(floorValue);
  }
  
...