Hi all,
I am trying to control multiple devices on SPI. During the operation the word length always changing depending on which device is performing. There is not any clock issue, since I try both peripherals separately with the same clock speed. My development platform is EVM 5515, I am using one CS from J13 header on EVM5515 (CS_0) and the other from P1 bluetooth header (CS_1). Both CS pins are working properly.
I created a struct that has two members:
typedef struct{
CSL_SpiHandle hSpi;
SPI_Config hwConfig;
}SPI_obj;
Therefore I can change the SPI_obj properties anytime I want. I change CS to switch from one device to another and also change word length by changing hwConfig properties. When I look to the registers in debug window I observe that CS and word length are changing properly.
One of my peripherals is an LCD screen and the other one is ADS1298. I first initialize the LCD and clean the screen and set background color and this part works properly. Then I switch to ADS1298 to make initialization, I set some registers inside ADS. When I want to read back the register values that I have set I do not get any result. The SPI parameters are seemed to be OK.
I do not have the chance to control CS via GPIO since I use GPIO pins for another process.
Any idea, suggestions are welcomed.
Thanks in advance.