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?
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.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.