打印
[ZLG-ARM]

LPC2103的SSP使用遇到怪异问题,请大家帮忙看看~~~有代码

[复制链接]
1617|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
djc001|  楼主 | 2008-8-13 00:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
初始化的函数:
void      SPI1INI()
{
          SSPCR0=0x0007; //CPOL,CPHA=0,8bit mode,SPI format,scr=0;
          SSPCPSR=0x02;
     SSPCR1=0x0002; 
}
          for(j=0;j<16;j++)
          {
              for(i=0;i<DataLength/16;i++)
             {
                while(SSPSR&0x02==0x00); //tx fifo is full then wait
                SSPDR=0x5555;
              }
             while(SSPSR&0x10==0x00);    //wait ssp control not busy
           }
有两个疑问:
1、手册说SSPSR的bit4 0-空闲,但是我用while(SSPSR&0x10!=0x00);程序就会死在这一条;请问下手册有误还是我使用方法不对?
2、SSP发送的数据送到外部的移位寄存器,当用SSPDR=0x5555;移位寄存器中的数据就是对的0,1间隔的,但是用SSPDR=0x55;寄存器中的数据就是错的了,MS是全0.请问下怎么这么奇怪呢?
感觉SSP用起来不如SPI好用,被折磨的很头疼,谢谢大家帮帮忙。。。

    

      

相关帖子

沙发
djc001|  楼主 | 2008-8-15 23:06 | 只看该作者

while((SSPSR&0x02)==0x00); 居然是因为括号的原因

使用特权

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

本版积分规则

5

主题

43

帖子

0

粉丝