Hello,
I am trying to setup UPP on a C6748 chip to move data from an ADS1605 Analog to Digital converter. I started with the UPP example code located in
pspdrivers_01_30_01\packages\ti\pspiom\examples\evm6748\uppEvm\evmA
This code copies data from the input in Channel A to the output in Channel B of the UPP.
I modified the code to use 16 bit data transfers from the 10 bit data transfers in the EVM.
If I leave the clock to the ADC disabled then SIO_reclaim never returns which is what I expect since the buffer never gets filled.
The problem occurs when I enable the clock to the ADC. In this instance, SIO_reclaim returns but the return value is 0 indicating a 0 length buffer. I don't understand why you would ever see a 0 returned from SIO_reclaim, it should block until it gets a full buffer and return the size of the buffer or it should return a negative integer indicating an error. What would cause it to return 0? I have included the code here, any help would be appreciated.
Thanks,
Scott
The offending code is located in uppStartDemo() in the line: nmadus0 = SIO_reclaim(uppInHandle, (Ptr *)rcv, NULL);
/*
* uppSample_io.c
*
* This file contains the test / demo code to demonstrate the uPP driver
* duplex mode in an evm to evm communication mode on DSP/BIOS 5.