I am having problems with SPI communications. I have initialized my SPI inteface with cpol=0, cpha=1, MSB first, and 4-wire mode.
Attached is a jpg file showing CSB, SCLK, MOSI, and MISO when trying to read CH0_CONFIG Register 0x21.
What am I doing wrong?
Vishy,
Thank you for your review of my code because with your suggestions and a few more changes, I can now read and also write to the LMP90100 registers.
Your suggestion a) I had already done, but setting it up as a watched input caused problems. I had the MISO pin setup like this:
# Set MISO as a watched input setPinDir(SPI_MISO, False) # Set pin as input setPinPullup(SPI_MISO, True) # Enable internal pull-up monitorPin(SPI_MISO, True) # Monitor for drdyb assertion
Your suggestion b) almost correct but ending up needing to be high first and then low.
writePin(SPI_SCK, True) # Set clock line high writePin(SPI_SCK, False) # Set clock line low
Your suggestion c) exactly correct because I didn't finish writing/testing that function since I needed to be able to read a register first before I could write.
Attached is the bit-bang version with the changes so I can read and write to the registers in the LMP90100.
2043.TI Forum - code2.pdf
Now I can move onto testing other parts of the ADC.
Thank you,
Brad