我是软件模拟SPI,用逻辑分析测得SPI速率只有300多K呢,太慢了吧,不应该这么慢吧?
代码如下:
{
uint8_t WriteData, ReadData;
uint8_t i, j;
ADC_SCLK(1);
for(i=0; i<NumberOfByte; i++)
{
WriteData = *(WriteBuffer + i);
ReadData = 0;
for(j=0; j<8; j++)
{
ADC_SCLK(1);
if(0x80 == (WriteData & 0x80))
{
ADC_MOSI(1);
}
else
{
ADC_MOSI(0);
}
WriteData = WriteData << 1;
ADC_SCLK(0);
ReadData = (ReadData<<1) | ADC_MISO_READ();
}
*(ReadBuffer + i)= ReadData;
}
ADC_SCLK(1);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
用汇编 ... 裸奔,否则 300KHz 对得起你了。
一周热门 更多>