from machine import Pin, I2C
import time
#time.sleep(0.1)
def BCD2Bin(num):
auxd = num & 0xF0
auxd = auxd >> 4
auxu = num & 0x0F
return auxd*10 + auxu
def Bin2BCD(num):
auxd = num // 10
auxd = auxd << 4
auxu = num % 10
return auxd | auxu
def readTime():
resp = [0, 0, 0]
info = i2c.readfrom_mem(104, 0, 3)
for i in range(3):
resp[i] = BCD2Bin(info[2-i])
return resp
def writeTime(info):
datos = [0, 0, 0]
for i in range(3):
datos[i] = Bin2BCD(info[2-i])
i2c.writeto_mem(104, 0, bytearray(datos))
i2c = I2C(0, scl=Pin(17), sda=Pin(16), freq=100000)
hora = readTime()
print("Hora actual: ", hora)
writeTime([10, 20, 30])
hora = readTime()
print("Nueva hora: ", hora)