打印
[汽车MCU – KEA]

KEA128 SPI主模式 SCK有时混乱问题 ,求帮助

[复制链接]
956|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fengxuxq|  楼主 | 2016-3-12 14:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

while(1)
{
    SPI1_write(0x01);  
    delayms(5);       
}

void SPI1_write(uint8 data)
{
        while(!SPI_IsSPTEF(SPI1));
        SPI_WriteDataReg(SPI1,data);
        while(!SPI_IsSPRF(SPI1));
        SPI_ReadDataReg(SPI1);               
}

代码缩减后大致如上述。主要问题在于延时时间。延时是用FOR循环做的硬延时。
1、速率为1Mhz时,延时5毫秒,示波器观察SCK波形正常。(8个高低电平)
2、速率为1Mhz时,延时改为500毫秒,示波器观察SCK波形,发现已经紊乱,正玄波,没有完整的周期和频率,只有几个跳动。(3-4个跳动)
     (事实上从100毫秒延时开始,SCK已经开始紊乱)
3、速率改为100Khz时,延时500毫秒,示波器观察SCK波形,发现波形有变好趋势。
4、速率改为20Khz时,延时500毫秒,示波器观察SCK波形,发现波形完全正常。(8个高低电平)


现在我想用1Mhz的频率,但是不知为何,延时时间长后,SCK不能正常发出脉冲电平,导致无法与从器件通讯。
请问有知道如何解决的吗?谢谢~


               

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝