arduino2/libraries/EasyPCF8574/examples/usage.ino
2021-12-26 14:42:41 +01:00

56 lines
1.6 KiB
C++

#include "EasyPCF8574.h"
EasyPCF8574 pcf_A(0x27,0); //PCF address, initial value
EasyPCF8574 pcf_B(0x29,0);
void setup() {
Serial.begin(9600);
//ESP32 example. You can use overloaded function with no parameters in startI2C() method.
if (!pcf_A.startI2C(21,22)){
Serial.println("Not started. Check pin and address.");
while (true);
}
}
void loop() {
Serial.println(" Starting cycle:");
Serial.println("Initial value (as specified):");
Serial.println(pcf_A.getPCFValue());
delay(500);
Serial.println("Setting value to (39):");
//00100111
pcf_A.setFullValue(0x27); //like pcf address :)
Serial.println("Byte now is:");
Serial.println(pcf_A.getPCFValue());
delay(500);
Serial.println("Checking bit 2 status:"); //bits starts in 0, from right to left
Serial.println(pcf_A.getBitValue(2));
Serial.println("Byte now is:");
Serial.println(pcf_A.getPCFValue());
delay(500);
Serial.println("Inverting bit 2 value");
pcf_A.setInvertBit(2);
Serial.println(pcf_A.getBitValue(2));
Serial.println("Byte now is:");
Serial.println(pcf_A.getPCFValue());
delay(500);
Serial.println("Set bit 2 up:");
pcf_A.setUpBit(2);
Serial.println(pcf_A.getBitValue(2));
Serial.println("Byte now is:");
Serial.println(pcf_A.getPCFValue());
delay(500);
Serial.println("Set bit 2 down");
pcf_A.setDownBit(2);
Serial.println(pcf_A.getBitValue(2));
Serial.println("Byte now is:");
Serial.println(pcf_A.getPCFValue());
delay(500);
Serial.println("Done.");
}