-
|
|
|
|
|
|
|
!
-
|
|
|
|
-
|
|
!
|
|
|
|
|
!
-
-
|
|
|
|
|
|
|
-
-
-
|
-
|
!
|
|
!
|
|
|
-
|
!
|
|
!
|
!
-
-
-
!
|
|
|
|
|
|
-
|
-
|
!
|
!
-
-
|
|
|
|
|
!
-
-
|
|
|
!
-
-
|
-
!
|
|
-
!
|
|
-
!
|
|
!
-
-
|
-
!
|
|
-
!
|
|
-
!
|
|
!
-
-
|
-
!
|
|
-
!
|
|
-
!
|
|
!
-
-
|
-
!
|
|
-
!
|
|
-
!
|
|
!
-
-
|
-
!
|
!
-
-
|
-
!
|
!
| #include <Wire.h>
const int I2CADDR = 0x50;
void setup() {
Serial.begin(9600);
Wire.begin();
dumpEEPROM(); set9999Count(); setBacklight(); setMiliACV(); enableUART();
dumpEEPROM(); }
void loop() {}
void dumpEEPROM() {
unsigned int addrPointer = 0;
unsigned int romLength = 0xff; byte data;
delay(500);
Serial.println("\nDT132A EEROM dump...");
Serial.println("-- : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F"); while (addrPointer <= romLength) {
if (!(addrPointer % 16)) {
Serial.print("\n");
if (addrPointer < 16) {
Serial.print("0");
}
Serial.print(addrPointer, HEX);
Serial.print(" : ");
}
data = readByte(I2CADDR, addrPointer); addrPointer++; if (data < 0x10) {
Serial.print("0");
}
Serial.print(data, HEX); Serial.print(" ");
}
Serial.println(" ");
}
byte readByte(int i2cAddr, unsigned int addr) {
byte data = 0x00;
Wire.beginTransmission(i2cAddr);
Wire.write(addr);
Wire.endTransmission();
Wire.requestFrom(i2cAddr, 1);
while (!Wire.available()) ;
if (Wire.available()){
data = Wire.read();
} else {
data = 0xff;
}
return data;
}
void writeByte(int i2cAddr, unsigned int addr, byte data) {
delay(100);
Wire.beginTransmission(i2cAddr);
Wire.write(addr);
Wire.write(data);
Wire.endTransmission();
}
void enableUART() {
Serial.println("Enabling UART...");
writeByte(I2CADDR, 0xFA, (byte) 0xFE);
Serial.println("Done");
}
void set4000Count() {
Serial.println("Set 4000Count...");
writeByte(I2CADDR, 0x10, (byte) 0xA0); writeByte(I2CADDR, 0x11, (byte) 0x0F);
writeByte(I2CADDR, 0x12, (byte) 0x68); writeByte(I2CADDR, 0x13, (byte) 0x10);
writeByte(I2CADDR, 0x14, (byte) 0x7C); writeByte(I2CADDR, 0x15, (byte) 0x01); Serial.println("Done");
}
void set6000Count() {
Serial.println("Set 6000Count...");
writeByte(I2CADDR, 0x10, (byte) 0x70); writeByte(I2CADDR, 0x11, (byte) 0x17);
writeByte(I2CADDR, 0x12, (byte) 0x38); writeByte(I2CADDR, 0x13, (byte) 0x18);
writeByte(I2CADDR, 0x14, (byte) 0x44); writeByte(I2CADDR, 0x15, (byte) 0x02); Serial.println("Done");
}
void set8000Count() {
Serial.println("Set 8000Count...");
writeByte(I2CADDR, 0x10, (byte) 0x40); writeByte(I2CADDR, 0x11, (byte) 0x1F);
writeByte(I2CADDR, 0x12, (byte) 0x08); writeByte(I2CADDR, 0x13, (byte) 0x20);
writeByte(I2CADDR, 0x14, (byte) 0xEE); writeByte(I2CADDR, 0x15, (byte) 0x02); Serial.println("Done");
}
void set9999Count() {
Serial.println("Set 9999Count...");
writeByte(I2CADDR, 0x10, (byte) 0x0F); writeByte(I2CADDR, 0x11, (byte) 0x27);
writeByte(I2CADDR, 0x12, (byte) 0x0F); writeByte(I2CADDR, 0x13, (byte) 0x27);
writeByte(I2CADDR, 0x14, (byte) 0xD4); writeByte(I2CADDR, 0x15, (byte) 0x03); Serial.println("Done");
}
void setBacklight() {
Serial.println("set Backlight Time...");
writeByte(I2CADDR, 0xFC, (byte) 0x78); Serial.println("Done");
}
void setMiliACV() {
Serial.println("set mVAC...");
writeByte(I2CADDR, 0x8E, (byte) 0x06); Serial.println("Done");
}
|
新しくコメントをつける