Я впервые пытаюсь прочитать из 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);
}