哪位帮我看看,我下面的模拟有错误吗?怎么和Flash(W25Q64)通信不了,
/*******************************************************************************
* @函数名称 SPI_SentData_8Bit
* @函数说明 采用SPI发送数据,模拟SPI的模式3,空闲时sck为高,偶数边沿采样
* @输入参数 Date
* @输出参数 无
* @返回参数 无
*****************************************************************************/
void SPI_SentData_8Bit(uint8_t data)
{
SCK_Low();
for(int i=0;i<8;i++)
{
if(data&0x80)
MOSI_High();
else
MOSI_Low();
SCK_High();
data<<=1;
SCK_Low();
}
SCK_High();
}
/*******************************************************************************
* @函数名称 SPI_ReceiveData_8Bit
* @函数说明 接收数据,模拟SPI的模式3,空闲时sck为高,偶数边沿采样
* @输入参数 无
* @输出参数 无
* @返回参数 data
*****************************************************************************/
uint8_t SPI_ReceiveData_8Bit()
{
uint8_t data =0;
SCK_Low();
for(int i=0;i<8;i++)
{
SCK_High();
data <<=1;
// data |=GPIO_ReadInputDataBit(MISO_PORT,MISO_PIN);
if(GPIO_ReadInputDataBit(MISO_PORT,MISO_PIN))
data++;
SCK_Low();
}
SCK_High();
return data;
} |