您的位置 首页 方案

关于调试stm32和stm8(51单片机)的i2c和spi协议的之间的差异

在调试STM32的i2c和io口模拟spi协议时发现时序是很关键的。stm32在72M运行下可以实现i2c或者spi协议,但并不代表把相同的代码移植到51单片

在调试STM32i2c和io口模仿spi协议时发现时序是很要害的。stm32在72M运转下能够完成i2c或许spi协议,但并不代表把相同的代码移植到51单片机上就会成功的跑起来,由于51单片机的速读最块8M,所以在时序上会发生很多大的差异。

通过测验,在stm32上的spi协议时钟线可到达20Khz,移植到51后,频率会降到<10hz。但是虽然把延时调小或许去掉仍是杯水车薪,此刻就要加几句把钟线置高置低的句子了 以便增大的速度,后来成功后,测验时钟线确实到达了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上没有
ucAddr <<= 1;
MF522_SCK = 0;
}
for(i=8;i>0;i–)
{
MF522_SCK = 1;//stm32上没有
ucResult <<= 1;
ucResult|=(bit)MF522_SO;
MF522_SCK = 0;
}
MF522_NSS = 1;
MF522_SCK = 1;
return ucResult;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/257130.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部