I am currently trying to interface a MAX7219 LED driver with a Bus Pirate 3.6 (Firmware v5.10 (r559) Bootloader v4.4).
Here is the datesheet :www.componentschip.com/.../MAX7219.html
I have the following circuit breadboarded (along with some decoupling caps on the power rail):
Circuit Diagram
I have set up SPI mode as such: Set speed: 1. 30KHz 2. 125KHz 3. 250KHz 4. 1MHz
(1)>4 Clock polarity: 1. Idle low *default 2. Idle high
(1)>1 Output clock edge: 1. Idle to active 2. Active to idle *default
(2)>1 Input sample phase: 1. Middle *default 2. End
(1)>1 CS: 1. CS 2. /CS *default
(2)>2 Select output type: 1. Open drain (H=Hi-Z, L=GND) 2. Normal (H=3.3V, L=GND)
(1)>2 Ready
Putting the MAX7219 into test mode and turning it off using [0xFF,0xFF] and [0xFF, 0x00] respectively turns all the LEDs on and off as expected. Restarting everything, I then run the following commands to disable character decoding (to use the MAX as a simple LED array drive), set maximum brightness, enable all columns, and finally enable the display:
[0x09,0x00] [0x0A,0xFF] [0x0B,0x07] [0x0C,0x01]
Finally, sending the following eight commands to enable all LEDs akin to what test mode would do does not have any effect, and no LEDs light up;
[0x01, 0xFF] [0x02, 0xFF] [0x03, 0xFF] [0x04, 0xFF] [0x05, 0xFF] [0x06, 0xFF] [0x07, 0xFF] [0x08, 0xFF]
At any point, I can set or reset test mode and it works as expect, so I'm convinced that SPI communication integrity is not the issue here.
I have tried this with both 5V and 3V3 levels for VCC, with the same results. Any ideas what I may be doing wrong here?
Yes. Don't you just hate it when people do that. Even worse when they then try to sweeten it D:<
http://www.keil.com/forum/15732/