關(guān)于調試stm32和stm8(51單片機)的i2c和spi協(xié)議的之間的區別
經(jīng)過(guò)測試,在stm32上的spi協(xié)議時(shí)鐘線(xiàn)可達到20Khz,移植到51后,頻率會(huì )降到<10hz??墒潜M管把延時(shí)調小或者去掉還是無(wú)濟于事,此時(shí)就要加幾句把鐘線(xiàn)置高置低的語(yǔ)句了 以便增大的速度,后來(lái)成功后,測試時(shí)鐘線(xiàn)的確達到了10Khz左右。
先貼上部分代碼
unsigned char ReadRawRC(unsigned char Address)
{
unsigned char i, ucAddr;
unsigned char ucResult=0;
MF522_SCK = 0;
MF522_NSS = 0;
ucAddr = ((Address<<1)&0x7E)|0x80;
for(i=8;i>0;i--)
{
MF522_SI = ((ucAddr&0x80)==0x80);
MF522_SCK = 1;//stm32上沒(méi)有
ucAddr <<= 1;
MF522_SCK = 0;
}
for(i=8;i>0;i--)
{
MF522_SCK = 1;//stm32上沒(méi)有
ucResult <<= 1;
ucResult|=(bit)MF522_SO;
MF522_SCK = 0;
}
MF522_NSS = 1;
MF522_SCK = 1;
return ucResult;
}
評論