打印
[ZLG-ARM]

LPC2210的SPI做从机时遇到的问题

[复制链接]
1009|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kalehz|  楼主 | 2007-8-15 09:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想把LPC2210的SPI做从机,接收和发送函数都是按照《ARM嵌入式基础教程》里给的例子:
发送函数:void SPISendByte( uint8 data )
          {
             S1PDR = data;
             while( 0 == (S1PSR&0x80) );
           }
接收函数:uint8 SPIRcvByte( void )
           {
             while( 0 == (S1PSR&0x80) );
               return (S1PDR);
            }
每次发送一个字节后,S1PSR的SPIF位会置位。按照书上所说,当读取S1PSR寄存器后,SPIF位会清零。
            uint8 ch;
            ch = S1PSR;
但是这样操作后,SPIF位并没有清零。不知道是怎么回事?有没有那位大侠遇到过类似的情况?

相关帖子

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

本版积分规则

10

主题

13

帖子

0

粉丝