由于刚入手,看到Demo中提供的关于spi的示例,具体操作如下:
McSPI0ModuleClkConfig();
McSPIPinMuxSetup(0);
McSPI0CSPinMuxSetup(0);
IntMasterIRQEnable();
McSPI0AintcConfigure();
McSPISetUp();
WriteEnable();
while(FALSE == retVal) {
retVal = IsWriteSuccess();
}
…..
问题就在于 IsWriteSuccess(); ,它去判断接收到的是否为02,但是我收到的却是0xff,所以就一直卡在这里,可否指出可能的问题在哪里,谢谢。
static unsigned int IsWriteSuccess(void) {
unsigned int retVal = FALSE;
txBuffer[0] = FLASH_READ_STAT_REG1;
txBuffer[1] = FLASH_DUMMY_BYTE;
length = 2;
McSPITransfer();
if(0x02 == rxBuffer[1]) {
retVal = TRUE;
}
return retVal; }
Jian Zhou:
应该是没有返回值吧,您的SPI接的什么外设?
afsa af a:
回复 Jian Zhou:
谢谢你的回答,接的是SST25VF016B。
Jian Zhou:
回复 afsa af a:
裸机的spi例程是基于SPI flash写的,对应您的SPI设备肯定要做修改
TI中文支持网