您好、查姆斯、
如果我们尝试读取 RX FIFO 数据、并且在平均时间 RX 移位寄存器将数据传输到 SCIRXBUF 中。
我们是否可以读取刚刚从移位寄存器中移动的数据、而不是 FIFO 中的数据?
此致、
Luke
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、查姆斯、
如果我们尝试读取 RX FIFO 数据、并且在平均时间 RX 移位寄存器将数据传输到 SCIRXBUF 中。
我们是否可以读取刚刚从移位寄存器中移动的数据、而不是 FIFO 中的数据?
此致、
Luke
您好、Luke、
为了避免混淆、我想澄清一下、有两组不同的位:
Edit+Correction:能够快速确认 SCIFFFE 和 SCIFFPE 位是否按字符存储在 FIFO 中、因此您的语句中是正确的:
[引用 userid="114524" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1050480/tms320f28377d-read-sci-fifo/3888524 #3888524"]因为接收 FIFO 寄存器需要保存 FE 和 PE 错误位,所以有10位宽的寄存器,对吗?此致、
Vince
尊敬的 Vince:
以下是我的理解、如果有任何问题、请纠正。
即使在 FIFO 模式下、SCIRXST 的 FE 和 PE 位仍然工作、这意味着当组帧错误时 SCI 模块设置 FE 位、当奇偶校验错误时设置 PE 位、那么这两个位将与 RX 移位寄存器中的数据一起保存在 FIFO 中、这意味着、
T1:WORD1已接收-->将 word1、Fe1和 PE1保存到 FIFO1中。
t2:wordc2 received -->将 wordc2、FE2和 PE2保存到 FIFO2中。
t3:接收到 wordc3 ->将 wordc3、FE3和 PE3保存到 FIFO3.... 等等。
当客户使用 SCIRXBUF 读出 FIFO 数据时、首先读出 FIFO1、这意味着 SAR 字段为 word1、SCIFFFE 为 Fe1、SCIFFPE 为 PE1、如果客户再次读出 SCIRXBUF、则会读出 FIFO2、然后读出 FIFO3等。
在 FIFO 模式下、SCI 将数据保存到 FIFO 中、当接收到字数据时、SCIFFFE 和 SCIFFPE 是错误位(状态)、这就是 RX FIFO 寄存器为10位宽的原因。
我的理解是否正确?
此致、
Luke
Vince、
根据您提供的 E2E 主题、客户希望在 FIFO 模式下清除 SCIFFFE 和 SCIFFPE 位。
我不太明白这一点。 如果我们说 SCIFFFE 和 SCIFFPE 位来自 FE 和 PE 位、用于指示在 FIFO 模式下接收到数据字时的错误状态、客户不需要清除这两个位、它是否正确?
此致、
Luke