kostbill
Full Member level 1
Hello.
I have problems with my FIFOs, I don't know if it is my design or the way I am handling the FIFO.
I am getting two values written to my FIFO, when the FIFO notifies me that I have data, I read only the second value. Then the status register does not even tell me that there is a first value. It is like it's gone.
The way I am doing it is this (I did not do it with interrupts because this is not working yet).
while(MY_I2S_mReadReg(baseaddr, MY_I2S_RDFIFO_SR_OFFSET) & RDFIFO_EMPTY_MASK);
sin_val_l = MY_I2S_mReadFromFIFO(baseaddr, 0);
while(MY_I2S_mReadReg(baseaddr, MY_I2S_RDFIFO_SR_OFFSET) & RDFIFO_EMPTY_MASK);
sin_val_r = MY_I2S_mReadFromFIFO(baseaddr, 0);
Does anyone have any ideas on this? I did make the write request to the FIFO and the write ack from the FIFO outputs in my PCB and I can see that the FIFO is responding as it should.
Thanks,
Bill.
I have problems with my FIFOs, I don't know if it is my design or the way I am handling the FIFO.
I am getting two values written to my FIFO, when the FIFO notifies me that I have data, I read only the second value. Then the status register does not even tell me that there is a first value. It is like it's gone.
The way I am doing it is this (I did not do it with interrupts because this is not working yet).
while(MY_I2S_mReadReg(baseaddr, MY_I2S_RDFIFO_SR_OFFSET) & RDFIFO_EMPTY_MASK);
sin_val_l = MY_I2S_mReadFromFIFO(baseaddr, 0);
while(MY_I2S_mReadReg(baseaddr, MY_I2S_RDFIFO_SR_OFFSET) & RDFIFO_EMPTY_MASK);
sin_val_r = MY_I2S_mReadFromFIFO(baseaddr, 0);
Does anyone have any ideas on this? I did make the write request to the FIFO and the write ack from the FIFO outputs in my PCB and I can see that the FIFO is responding as it should.
Thanks,
Bill.