I am using EVM5515, CCS v4.1 and CSL 55xx_ lowPWR,
I set I2S1 parameters like these,
I2S_Instance chan = I2S_INSTANCE1; I2S_OpMode mode = I2S_POLLED; I2S_ChanType ch_type = I2S_CHAN_MONO;
hI2s = I2S_open(chan, mode, ch_type);
p_Config->dataType = I2S_MONO_ENABLE; p_Config->loopBackMode = I2S_LOOPBACK_ENABLE; p_Config->fsPol = I2S_FSPOL_LOW; p_Config->clkPol = I2S_FALLING_EDGE; p_Config->datadelay = I2S_DATADELAY_ONEBIT; p_Config->datapack = I2S_DATAPACK_ENABLE; p_Config->signext = I2S_SIGNEXT_DISABLE; p_Config->wordLen = I2S_WORDLEN_24; p_Config->i2sMode = I2S_MASTER; p_Config->clkDiv = I2S_CLKDIV8; p_Config->fsDiv = I2S_FSDIV16; p_Config->FError = I2S_FSERROR_DISABLE; p_Config->OuError = I2S_OUERROR_DISABLE;
sys_fault = I2S_setup(hI2s, p_Config);
I2S_transEnable(hI2s, TRUE); After this line, I can find I2S clock and FS, but when I run to I2S_write( ),
i2sIrStatus = regs->I2SINTFL is always 0, the code is dead loop here, because there is no XMT flag here. I checked I2SINTFL register, it is always 0, I can not transfer my data. Another problem is I use DMA tranfer data to I2S transmit register, for I2S0, transmit register 0x2808, I can do tansfer, but when I change to I2S1 register 0x2908, I couldn't trasfer data, it is always 0. Please help me to solve these problems. Thanks