Part Number: LMK5B33216
Tool/software:
Greetings...
I was trying to program the LMK5B33216 with I2C using a register map obtained from TICS Pro. I'm attaching the project file we used to program it and the I2C Program used to program it.
Please assist ASAP.
import smbus
import time
from gpiozero import LED
pin = 18
led = LED(pin)
led.on()
bus = smbus.SMBus(1)
DEVICE_ADDRESS = 0x65
try:
# List of hex values
hex_values = [
0x001300
,0x0014B0
,0x0015A1
,0x001615
,0x001700
,0x001806
,0x001901
,0x001A00
,0x002000
,0x002502
,0x0026FF
,0x0027FF
,0x0028FF
,0x002900
,0x002A00
,0x002B00
,0x002C00
,0x003102
,0x003600
,0x003700
,0x003800
,0x00390F
,0x003A0F
,0x003B0E
,0x003C38
,0x003D00
,0x003E00
,0x003F08
,0x004003
,0x004103
,0x004203
,0x004308
,0x004408
,0x004588
,0x004688
,0x00478A
,0x00488A
,0x00490A
,0x004A8A
,0x004B1A
,0x004C1A
,0x004D1A
,0x004E00
,0x004F0E
,0x00500E
,0x005100
,0x005200
,0x0053AA
,0x00541F
,0x0055FF
,0x0056FF
,0x005700
,0x005800
,0x0059FA
,0x005A00
,0x005B00
,0x005C32
,0x005D00
,0x005E00
,0x005F32
,0x006000
,0x00611F
,0x0062FF
,0x0063FF
,0x006400
,0x006500
,0x006676
,0x006700
,0x006800
,0x00692A
,0x006A00
,0x006B00
,0x006C2A
,0x006D00
,0x006E0A
,0x006F00
,0x00700F
,0x007100
,0x00720A
,0x007300
,0x00740F
,0x007503
,0x0076E8
,0x007705
,0x0078DC
,0x007903
,0x007AE8
,0x007B05
,0x007CDC
,0x007D00
,0x007E00
,0x007F1F
,0x0080CB
,0x008100
,0x008201
,0x008386
,0x0084AC
,0x008500
,0x008600
,0x00871F
,0x0088CB
,0x008900
,0x008A01
,0x008B86
,0x008CAC
,0x008D00
,0x008E62
,0x008F1D
,0x00905A
,0x009100
,0x009298
,0x009396
,0x009481
,0x009500
,0x009662
,0x00971D
,0x00985A
,0x009900
,0x009A98
,0x009B96
,0x009C81
,0x009D0E
,0x009E0E
,0x009F0A
,0x00A00A
,0x00A100
,0x00A200
,0x00A300
,0x00A400
,0x00A500
,0x00A600
,0x00A700
,0x00A800
,0x00DE00
,0x00DF00
,0x00E000
,0x00E100
,0x00E201
,0x00E400
,0x00E509
,0x00E600
,0x00E70C
,0x00E800
,0x00E909
,0x00EA27
,0x00EBC0
,0x00EC00
,0x00ED00
,0x00EE04
,0x00EFB1
,0x00F000
,0x00F101
,0x00F286
,0x00F3F3
,0x00F715
,0x00F843
,0x00F992
,0x00FA00
,0x00FB00
,0x00FC00
,0x00FD00
,0x00FE00
,0x00FF00
,0x010000
,0x010100
,0x010200
,0x010300
,0x010400
,0x010503
,0x010600
,0x010700
,0x01081F
,0x010940
,0x010A00
,0x010B00
,0x010C1B
,0x010D00
,0x010E0F
,0x010F14
,0x01100F
,0x011105
,0x011208
,0x011304
,0x011408
,0x011508
,0x011606
,0x011702
,0x011806
,0x011911
,0x011A05
,0x011B00
,0x011C16
,0x011D68
,0x011E03
,0x011FEB
,0x012001
,0x012185
,0x012203
,0x012309
,0x012401
,0x012592
,0x01260D
,0x012742
,0x012801
,0x012940
,0x012A00
,0x012B0A
,0x012C3E
,0x012D0A
,0x012E08
,0x012F1B
,0x01301D
,0x013107
,0x01323F
,0x01330F
,0x01343F
,0x013500
,0x013A00
,0x013B00
,0x013C00
,0x013D0F
,0x013EA0
,0x013F00
,0x014000
,0x014100
,0x014200
,0x014300
,0x014400
,0x014500
,0x014600
,0x014700
,0x014800
,0x014900
,0x014A00
,0x014B00
,0x014C0F
,0x014DA0
,0x014E00
,0x014F00
,0x015000
,0x015100
,0x015200
,0x015300
,0x015400
,0x015500
,0x015600
,0x015700
,0x015800
,0x015902
,0x015A00
,0x015B00
,0x015C00
,0x015D00
,0x015E00
,0x015F00
,0x016000
,0x016600
,0x016700
,0x01687D
,0x016900
,0x016A08
,0x016B00
,0x016C00
,0x016D00
,0x016E00
,0x016F00
,0x017014
,0x017100
,0x017200
,0x017511
,0x017600
,0x017700
,0x017803
,0x017A00
,0x017B09
,0x017C00
,0x017D0C
,0x017E00
,0x017F00
,0x018009
,0x0181C5
,0x018200
,0x018300
,0x018405
,0x018536
,0x018600
,0x018701
,0x018886
,0x0189D2
,0x018D55
,0x018E6F
,0x018F92
,0x019000
,0x019100
,0x019200
,0x019300
,0x019400
,0x019500
,0x019600
,0x019700
,0x019800
,0x019900
,0x019A00
,0x019B03
,0x019C00
,0x019D00
,0x019E23
,0x019F28
,0x01A000
,0x01A100
,0x01A21B
,0x01A300
,0x01A40F
,0x01A514
,0x01A60F
,0x01A708
,0x01A808
,0x01A904
,0x01AA08
,0x01AB08
,0x01AC06
,0x01AD02
,0x01AE06
,0x01AF11
,0x01B005
,0x01B100
,0x01B216
,0x01B368
,0x01B403
,0x01B5EB
,0x01B601
,0x01B785
,0x01B803
,0x01B909
,0x01BA01
,0x01BB92
,0x01BC0D
,0x01BD42
,0x01BE01
,0x01BF40
,0x01C000
,0x01C10A
,0x01C214
,0x01C308
,0x01C408
,0x01C51B
,0x01C61D
,0x01C707
,0x01C83F
,0x01C90F
,0x01CA3F
,0x01CB00
,0x01D000
,0x01D100
,0x01D200
,0x01D311
,0x01D494
,0x01D500
,0x01D600
,0x01D700
,0x01D800
,0x01D900
,0x01DA00
,0x01DB00
,0x01DC00
,0x01DD00
,0x01DE00
,0x01DF00
,0x01E000
,0x01E100
,0x01E212
,0x01E3C0
,0x01E400
,0x01E500
,0x01E600
,0x01E700
,0x01E800
,0x01E900
,0x01EA00
,0x01EB00
,0x01EC00
,0x01ED00
,0x01EE00
,0x01EF02
,0x01F000
,0x01F100
,0x01F200
,0x01F300
,0x01F400
,0x01F500
,0x01F600
,0x01FC00
,0x01FD00
,0x01FE7D
,0x01FF00
,0x020008
,0x020100
,0x020200
,0x020300
,0x020400
,0x020500
,0x020600
,0x020700
,0x020800
,0x020B11
,0x020C00
,0x020D00
,0x020E01
,0x021000
,0x021109
,0x021200
,0x02130C
,0x021400
,0x021503
,0x02160D
,0x021740
,0x021800
,0x021900
,0x021A04
,0x021BC5
,0x021C00
,0x021D01
,0x021E86
,0x021FB8
,0x022355
,0x022457
,0x022592
,0x022600
,0x022700
,0x022800
,0x022900
,0x022A00
,0x022B00
,0x022C00
,0x022D00
,0x022E00
,0x022F00
,0x023000
,0x023103
,0x023200
,0x023300
,0x02340F
,0x02355C
,0x023600
,0x023700
,0x023800
,0x023900
,0x023A0F
,0x023B0E
,0x023C0F
,0x023D08
,0x023E08
,0x023F08
,0x024008
,0x024108
,0x024206
,0x024308
,0x024406
,0x024511
,0x024605
,0x024707
,0x024814
,0x024971
,0x024A03
,0x024BEB
,0x024C01
,0x024D85
,0x024E03
,0x024F09
,0x025001
,0x025192
,0x02520D
,0x025342
,0x025401
,0x025540
,0x025600
,0x02570A
,0x025814
,0x025908
,0x025A08
,0x025B1B
,0x025C1D
,0x025D07
,0x025E3F
,0x025F0F
,0x02603F
,0x026100
,0x026600
,0x026700
,0x026800
,0x026907
,0x026AAE
,0x026B14
,0x026C7A
,0x026DE1
,0x026E47
,0x026FAE
,0x0270FF
,0x0271FF
,0x0272FF
,0x0273FF
,0x0274FF
,0x027500
,0x027600
,0x027700
,0x027807
,0x0279AE
,0x027A14
,0x027B7A
,0x027CE1
,0x027D47
,0x027EAE
,0x027FFF
,0x0280FF
,0x0281FF
,0x0282FF
,0x0283FF
,0x028400
,0x028502
,0x028600
,0x028700
,0x028800
,0x028900
,0x028A00
,0x028B00
,0x028C00
,0x029200
,0x029300
,0x02947D
,0x029500
,0x029608
,0x029700
,0x029800
,0x029900
,0x029A00
,0x029B00
,0x029C00
,0x029D01
,0x029E01
,0x02C20D
,0x02C350
,0x02C403
,0x02C502
,0x02C606
,0x02C706
,0x02C8FF
,0x02C900
,0x02CA16
,0x02CB18
,0x02CC01
,0x02CDFF
,0x02CE00
,0x02CF00
,0x02D000
,0x02D180
,0x02D200
,0x02D300
,0x02D406
,0x02DBDC
,0x02DC88
,0x02DDA8
,0x02E000
,0x030506
,0x030660
,0x030700
,0x030896
,0x03094D
,0x030A0B
,0x030B07
,0x030C06
,0x030D06
,0x030EFF
,0x030F00
,0x031001
,0x03110D
,0x031200
,0x031302
,0x031428
,0x0315F5
,0x0316C8
,0x031780
,0x031800
,0x031911
,0x031A06
,0x032318
,0x03243A
,0x032503
,0x032800
,0x034600
,0x034700
,0x034857
,0x03490B
,0x034A01
,0x034B0E
,0x034C0E
,0x034D7F
,0x034E00
,0x034F0A
,0x03500E
,0x035100
,0x035200
,0x03536F
,0x035446
,0x035517
,0x035680
,0x035700
,0x035850
,0x035904
,0x036056
,0x036130
,0x03620C
,0x036800
,0x03C154
,0x03C200
,0x03C328
,0x03C444
,0x03C500
,0x03C614
,0x03C701
,0x03C800
,0x03C973
,0x03CB24
,0x03CC02
,0x03CD3F
,0x03CE00
,0x03CF00
,0x03D000
,0x03D100
,0x03D200
,0x03D33A
,0x03D400
,0x03D53A
,0x03D600
,0x03D70D
,0x03D800
,0x03D900
,0x03DA00
,0x03DBB4
,0x03DC00
,0x03DD00
,0x03DE00
,0x03DF00
,0x040019
,0x040103
,0x04022B
,0x040318
,0x040400
,0x040500
,0x040600
,0x04073A
,0x042019
,0x042103
,0x04222B
,0x042318
,0x042400
,0x042500
,0x042600
,0x04273A
,0x044145
,0x044250
,0x044343
,0x04444C
,0x044521
,0x0446A3
,0x044700
,0x044800
,0x044900
,0x044A28
,0x044B10
,0x044C0D
,0x044D00
,0x044E00
,0x044F00
,0x0450B4
,0x045100
,0x045200
,0x045300
,0x045400
,0x046143
,0x04624C
,0x046343
,0x04644C
,0x046521
,0x0466A3
,0x046700
,0x046800
,0x046900
,0x046A28
,0x046B00
,0x046C0D
,0x046D00
,0x046E00
,0x046F00
,0x04705A
,0x047100
,0x047200
,0x047300
,0x047410
,0x048121
,0x04824C
,0x048321
,0x04844C
,0x048521
,0x0486A3
,0x048700
,0x048800
,0x048900
,0x048A04
,0x048B00
,0x048C0D
,0x048D00
,0x048E00
,0x048F00
,0x049040
,0x049100
,0x049200
,0x049300
,0x049410
,0x04A143
,0x04A24C
,0x04A343
,0x04A44C
,0x04A521
,0x04A6A3
,0x04A700
,0x04A800
,0x04A900
,0x04AA04
,0x04AB00
,0x04AC0D
,0x04AD00
,0x04AE00
,0x04AF00
,0x04B040
,0x04B100
,0x04B200
,0x04B300
,0x04B410
,0x04C143
,0x04C24C
,0x04C343
,0x04C40C
,0x04C521
,0x04C6A3
,0x04C700
,0x04C800
,0x04C900
,0x04CA04
,0x04CB00
,0x04CC0D
,0x04CD00
,0x04CE00
,0x04CF00
,0x04D040
,0x04D100
,0x04D200
,0x04D300
,0x04D410
,0x04E019
,0x04E103
,0x04E24F
,0x04E318
,0x04E400
,0x04E500
,0x04E600
,0x04E70D
,0x05002B
,0x050103
,0x05024F
,0x050318
,0x050400
,0x050500
,0x050600
,0x05070D
]
# Function to write 8-bit data to a 16-bit register address
def write_to_register(device_address, register_address, data):
high_byte = (register_address >> 8) & 0xFF # Extract high byte of register address
low_byte = register_address & 0xFF # Extract low byte of register address
# Write the register address and data as a block (2-byte address, 1-byte data)
bus.write_i2c_block_data(device_address, high_byte, [low_byte, data])
time.sleep(0.01)
# Function to read 8-bit data from a 16-bit register address
def read_from_register(device_address, register_address):
high_byte = (register_address >> 8) & 0xFF # Extract high byte of register address
low_byte = register_address & 0xFF # Extract low byte of register address
# Write the register address to the device
bus.write_i2c_block_data(device_address, high_byte, [low_byte])
time.sleep(0.01) # Short delay before reading
# Read 8-bit data from the device
return bus.read_byte(device_address)
# Iterate through the hex values, write to the I2C device, and then read back the data
for value in hex_values:
register_address = (value >> 8) & 0xFFFF # Extract the 16-bit register address
data = value & 0xFF # Extract the 8-bit data
write_to_register(DEVICE_ADDRESS, register_address, data)
print(f"Written data 0x{data:02X} to register 0x{register_address:04X}")
# Read back the data from the register
read_data = read_from_register(DEVICE_ADDRESS, register_address)
print(f"Read data 0x{read_data:02X} from register 0x{register_address:04X}")
print("Data writing and reading complete.")
except KeyboardInterrupt:
print("Program interrupted by user")