Data Sheet
Read value: 0x4996 02D2 = 1,234,567,890
Unlike the other Tic command formats, the block read command is not compatible with the SMBus
protocol of the same name. If your master device is limited to using SMBus protocols, you can do
a Tic block read by first using an SMBus “Write Byte” transfer to send the Tic command and offset,
then using an SMBus read transfer (e.g. Read Byte, Read Word, or Read 32) to send the same Tic
command and get the response data:
Example: Get variable [https://www.pololu.com/docs/0J71/8#cmd-get-variable] “target position”
(32 bits) – SMBus compatible (Write Byte + Read 32)
addr + Wr command offset
master: S 0x1C 0xA1 0x0A P
Tic: A A A
addr + Wr command
master: S 0x1C 0xA1 P
Tic: A A
addr + Rd data 1 data 2 data 3 data 4
master: S 0x1D A A A N P
Tic: A 0xD2 0x02 0x96 0x49
Read value: 0x4996 02D2 = 1,234,567,890
If you are using a clock speed faster than the standard 100 kHz, you should ensure that
no activity happens on the bus for 100 μs after the end of a block read command. Failure
to do this could lead to I²C communication issues.
Clock stretching
The Tic uses a feature of I²C called clock stretching, meaning that it sometimes holds the SCL line low
Tic Stepper Motor Controller User’s Guide © 2001–2018 Pololu Corporation
10. I²C command encoding Page 144 of 150