你好
我执行了如下 SPI 配置
UINT16_t sData = 0;
UINT16_t RDATA = 0;
//mySPI0初始化
SPI_disableModule (mySPI0_base);
SPI_setConfig (mySPI0_base,device_LSPCLK_FREQ,SPI_PROT_POL0PHA1,//***,device_LSPCLK_FREQ=50MHz,//! 模式1。 极性0,相位1。 上升边缘延迟。
SPI_MODE_MASTER,1000000,8);//SPI 主模式,8位数据宽度
//SPI_disableFIFO (mySPI0_base);
SPI_enableFIFO (mySPI0_base);//启用发射和接收 FIFO。
SPI_enableLoopback (mySPI0_base);
SPI_setEmulationMode (mySPI0_base, SPI_emonization_fix_free _run);///!set,这样断点不会干扰 xmission
SPI_enableModule(mySPI0_base);
我正在通过启用环回来传输和接收数据。
sData = 0x0a0b;
SPI_writeDataBlockingFIFO (mySPI0_base,sData);/FIFO 已启用
X = SPI_getTxFIFO 状态(mySPI0_base);
RDATA = SPI_readDataBlockingFIFO (mySPI0_base);//FIFO 已启用
我对 SPI_setConfig() 函数有疑问,在此函数 中,我将数据宽度设置为8位。
因此,根据 SPI_setConfig()函数解释 ,应该放弃下8位数据,并且只能接收上8位数据。
但 接收 到的数据为 RDATA=0x0b0a。
因此,不是只获得0x000a 数据, 为什么接收到的数据是0x0b0a?
请提前感谢