大家好、
我正在尝试加快 Concerto 芯片(F28M35H52C) C28x 端的一些 SPI 传输速度。 它基于中断、获取 Rx-FIFO 中断(SpiaRegs.SPIFFRX.bit.RXFFIENA=1)、然后在 FIFO 中读取/写入新的数据。
我的问题是、是否应该花费大约32个 CPU 周期(大约32/150=0.21 usec)来读取/写入 FIFO 中的一个字。 至少这是我要测量的值。 例如、以下代码(在 禁用中断的情况下从 FIFO 读取单个字以不影响时序) 将导致 consumedCycles==32。
Int receivedData;
int consumedCycles;
Dint;
uint32_t volatile blockEntryCount = CpuTimer0Regs.TIM.all;
receivedData = SpiaRegs.SPIRXBUF;
consumedCycles = blockEntryCount - CpuTimer0Regs.TIM.all;
EINT;
请告诉我这是否符合预期、或者是否可以使其运行得更快。 看起来很慢