打印

关于24L01程序。

[复制链接]
2070|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
274643473|  楼主 | 2009-12-5 19:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问一下这是24L01中写一个寄存器。我想问一下为什么向寄存器内写入一个字节的同时还要读出来一个字节,这个字节代表什么呢。标成红色的那一句是什么意思呢。
uchar SPI_RW(uchar byte)
{
uchar bit_ctr;
    for(bit_ctr=0;bit_ctr<8;bit_ctr++)   // output 8-bit
    {
     MOSI = (byte & 0x80);         // output 'byte', MSB to MOSI
     byte = (byte << 1);           // shift next bit into MSB..
     SCK = 1;                      // Set SCK high..
   
  byte |= MISO;           // capture current MISO bit
     SCK = 0;                // ..then set SCK low again
    }
    return(byte);               // return read byte
}

相关帖子

沙发
274643473|  楼主 | 2009-12-5 19:41 | 只看该作者
补充一下就是
byte |= MISO;           // capture current MISO bit
一句是什么意思呢

使用特权

评论回复
板凳
jxj2e1v8v| | 2009-12-13 09:30 | 只看该作者
的确MISO引脚的状态啊

无线数据通信汇总和选型参考.pdf

185.1 KB

使用特权

评论回复
地板
lantian0099| | 2010-6-8 13:44 | 只看该作者
SPI时序:先低字节,后高字节;先高位,后低位。
byte |= MISO;这句是将MISO端的数据置入最低位,再左移,循环8次后,主机和从机中的数据就进行了交换。相当于主从机的两个8位寄存器构成一个16位寄存,循环左移8次后,前后两字节发生交换。

使用特权

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

本版积分规则

42

主题

75

帖子

1

粉丝