Hi All,
I’m using an ADuC7026 and struggling to get anywhere with the SPI… I’m getting reliable transmission complete interrupts, but SPIRX is always 0x00, even in loopback mode.
Do I need to add external pull ups for this device?
Hi All,
I’m using an ADuC7026 and struggling to get anywhere with the SPI… I’m getting reliable transmission complete interrupts, but SPIRX is always 0x00, even in loopback mode.
Do I need to add external pull ups for this device?
More Information:
I connected the unit up at work to a scope to watch what was going on with the clock, Chip select, mosi and miso pins, and I observed the following:
MOSI, CS and CLK only range between 3.0v and 3.3v… Makes me wonder if the weak internal 100k pull ups on the ADuC need to be turned off.
I find this odd since the chip should be able to sink 1.6ma/pin and should therefore override the 100k pull up with ease
If you’re not getting anything in loopback mode, you’re definitely not going to see anything on the output (assuming you’re talking about internal loopback). You should definitely get that working first and then move to the external connections.
Do connections to the external pins affect the behavior of the internal loopback mode?
I can’t say for sure for all of them, but not for any that I’ve ever tested SPI on. I’ve also never had to use any external pull-ups or pull-downs if that helps. It sounds like there’s an issue with how you’re setting up your SPI port, sending SPI data, reading SPI data, or (way down the totem pole) I/O control registers.
Hey Brennen,
Thanks for the assistance going over this, Having taken it back to my workstation at home and disabled the weak internal pull ups on the SPI pins, the outputs now properly go low… this leaves me wondering what’s going on in there since the UART SIN/SOUT pins work just fine with the pull ups on, but not the SPI ones.
Weird.