打印

关于LPC2148 SPI读写问题

[复制链接]
1625|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
北京户口|  楼主 | 2010-4-28 15:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看了DS的

                      // 读出bytes字节的数据
uint8 SPI_Read_Buf(uint8 reg, uint8 *pbuf, uint8 bytes)
{
     uint8 status,byte_ctr;

            IO0CLR=CSN;                                // Set CSN low, init SPI tranaction

SPI_RW(reg);                               // Select registerto writeto and read status byte

     for(byte_ctr=0;byte_ctr<bytes;byte_ctr++)
     {   
   S0SPDR = 0x00;                           //不知道该写什么~~~~~~
              while ( 0==(S0SPSR & 0x80) );
  *pbuf = S0SPDR;
   pbuf++;
     }
  
                                        //pBuf[byte_ctr] =SPI_RW(0); //
     IO0SET=CSN ;
                                                   //return(status); // return nRF24L01 status byte
}


想必大侠们都看出来了,这是个21L01的程序

但是我用芯片自带的SPI接口读不出寄存器

手册给出的例程是这么说的

在主SPI模式下,发送和接受都是这么写

   S0SPDR = data;                           //在读模式下不知道该写什么~~~~~~
              while ( 0==(S0SPSR & 0x80) );
   return(SOSPDR);                         //*pbuf = S0SPDR;

希望路过的大侠给与指点,多谢

相关帖子

沙发
六楼的窗户| | 2010-4-28 15:17 | 只看该作者
1.24l01 错别字

2.为什么就你一个人用lpc2148,别人都用stm32了

3.spi那个四个模式,像clk方向,上升下降沿方向配置对了没,需要和24l01的spi模式一致

4.我没用过24l01,准备用

使用特权

评论回复
板凳
yoyowodeai| | 2010-4-28 15:18 | 只看该作者
1.24L01这么写有错???我看芯片上这么标注的,我就照抄了

2.是LPC2148,不是lpc2148,这芯片不是给我定制的

3.已经成功配置,并且能读出返回的07状态寄存器的值,并且在我的51板子上证明24L01是好的

4.祝你在STM32上成功使用,别和我一样,这么衰~~~~

使用特权

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

本版积分规则

107

主题

521

帖子

1

粉丝