On Mon, Mar 09, 2015 at 05:09:34PM +0800, Xuebing Wang wrote:
After I receive data (in the format of S16_LE) from SSI/I2S, I got data like 0x7FFF or 0x77d2. Are they supposed to be 0xFFFF or 0xF7d2?
After setting bit 10 (RXEXT) of SSIx_SRCR, I still get 0x7FFF or 0x77d2.
I don't have much detail information on it. But what I see a sign extension should only happen during some procedures like converting a 16-bit signed number to a 32-bit signed number. For example, the original number is 0x8000 (16-bit), then the result should be a 32- bit 0xFFFF8000.
However, you are still using 16-bit format and the sample data you provided looks like positive numbers.
You might need to read a 32-bit result from the Receive FIFO so as to get a 32-bit sign extended data.