|
SPI2参考的是官方例程,SCK时钟2分频,8B模式。系统时钟RCMF 16分频。
调试中发现经常在第2个while死掉;将RCMF改成8分频的话,就没有这个问题。
MCU通信的从机SPI芯片,其数据手册建议通信速率为1M~5M,没有说明低于1M速率的影响。
请问SPI模块本身呢?对低通信速率有什么要求?
uint32_t SpiWriteAndRead(uint32_t data)
{
FL_SPI_SetSSNPin(SPI2, FL_SPI_SSN_LOW);
FL_SPI_WriteTXBuff(SPI2, data);
while(!(FL_SPI_IsActiveFlag_TXBuffEmpty(SPI2)));
while(!(FL_SPI_IsActiveFlag_RXBuffFull(SPI2)));
data = FL_SPI_ReadRXBuff(SPI2);
FL_SPI_SetSSNPin(SPI2, FL_SPI_SSN_HIGH);
return data;
}
|
|