I have tried ADS8332 Interface with the TMS320F28335 and getting a good ADC Result from it but i wanted to transfer data result to PC LabVIEW by using UART FT232H, and i am having problem in which MISO data is not the same as UART data, I cut the 16it data to 3 parts 2-7bits and 1 2bits;
for(;;)
{
while(Flag == 0) { }; // Waiting for interrupt service finished
rxdata[0] = ((AdcResult & 0xFE00)>>9)+128;
sendchar(rxdata[0]);
rxdata[1] = ((AdcResult & 0x1FC)>>2)+128;
sendchar(rxdata[1]);
rxdata[2] = ((AdcResult & 0x0003))+128;
sendchar(rxdata[2]);
sendchar(0X0A);
Flag = 0;
}
interrupt void xint1_isr(void)
{
AdcResult = ADS833x_ReadData();
Flag = 1;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}
Uint16 ADS833x_ReadData() // Read conversion data
{
Uint16 rData;
while(SpiaRegs.SPISTS.bit.BUFFULL_FLAG !=0) { } // Wait until SPITXBUF is free
SpiaRegs.SPITXBUF= 0xD000; // 1101 0000 0000 0000
while(SpiaRegs.SPISTS.bit.BUFFULL_FLAG !=0){} // Wait until SPITXBUF is free
rData = SpiaRegs.SPIRXBUF; // Read RXBUF to clear INT_FLAG
while(SpiaRegs.SPISTS.bit.INT_FLAG !=1){} // Wait until RX data is ready
rData = SpiaRegs.SPIRXBUF;
return rData;
}
void sendchar(unsigned char dd)
{
while(!(SciaRegs.SCICTL2.bit.TXRDY));
SciaRegs.SCITXBUF = dd;
}
here is also screen shot using logic analyzer