Bus Pirate Edu Kit Exercise no.11
From DP
Contents |
Overview
In this exercise will learn how to start a Real Time Clock and Calendar IC and read the values generated by it.
The Circuit
Breadboard legend
| IC Location | Breadboard wiring legend | ||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
- The (+) and (-) next to PIN1 and PIN2 are intended for devices such as LEDs, where PIN1 should be the anode and connected to a higher potential then PIN2.
Bus Pirate Terminal
HiZ>m<<<the menu command
1. HiZ
2. 1-WIRE
3. UART
4. I2C
5. SPI
6. 2WIRE
7. 3WIRE
8. LCD
x. exit(without change)
(1)>4<<<select the I2C mode
Set speed:
1. ~5KHz
2. ~50KHz
3. ~100KHz
4. ~400KHz
(1)>3<<<select 100KHz for signaling speed
Ready
I2C>P<<<connect the pull up resistors (P command)
Pull-up resistors ON
Warning: no voltage on Vpullup pin
I2C>W<<<turn on the power supplies(W command)
POWER SUPPLIES ON
I2C>(1)<<<Search the I2C address space for connected devices
Searching I2C address space. Found devices at:
0xDE(0x6F W)
I2C>[0xDE 0[0xDF r:9]<<<read 9 registers starting at address 0
I2C START BIT
WRITE: 0xDE ACK<<<send the reading address
WRITE: 0x00 ACK<<<send the starting register
I2C START BIT<<<restart communication
WRITE: 0xDF ACK<<<send the writing address
READ: 0x00 ACK 0x00 ACK 0x00 ACK 0x01 ACK 0x01 ACK 0x01 ACK 0x01 ACK 0x80 ACK 0x00<<<9 bytes read from registers
NACK
I2C STOP BIT
I2C>[0xde 0 0x80]<<<set the first bit of the registrar located at address 0
I2C START BIT
WRITE: 0xDE ACK
WRITE: 0x00 ACK
WRITE: 0x80 ACK
I2C STOP BIT
I2C>[0xde 0[0xdf r:9]<<<read 9 registers starting at address 0'
I2C START BIT
WRITE: 0xDE ACK
WRITE: 0x00 ACK
I2C START BIT
WRITE: 0xDF ACK
READ: 0x82 ACK 0x00 ACK 0x00 ACK 0x21 ACK 0x01 ACK 0x01 ACK 0x01 ACK 0x80 ACK 0x00
NACK
I2C STOP BIT
I2C>[0xde 0[0xdf r:9]<<<read 9 registers starting at address 0'
I2C START BIT
WRITE: 0xDE ACK
WRITE: 0x00 ACK
I2C START BIT
WRITE: 0xDF ACK
READ: 0xD4 ACK 0x01 ACK 0x00 ACK 0x21 ACK 0x01 ACK 0x01 ACK 0x01 ACK 0x80 ACK 0x00
NACK
I2C STOP BIT
I2C>m<<<the menu command
1. HiZ
2. 1-WIRE
3. UART
4. I2C
5. SPI
6. 2WIRE
7. 3WIRE
8. LCD
x. exit(without change)
(1)>1<<<select the HiZ mode
Ready
HiZ>
