查看: 3079|回复: 2

谁帮我看看这个时序图是怎么看的?

[复制链接]
  • TA的每日心情

    2015-5-17 22:38
  • 签到天数: 160 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-1-23 21:18:25 | 显示全部楼层 |阅读模式
    分享到:
    file:///C:\Documents and Settings\Administrator\Application Data\Tencent\Users\251333903\QQ\WinTemp\RichOle\1HZ)]TS3SZS0B291C`}PNP7.jpguint SPI_RW(uint uchar)
    {
         uint bit_ctr;
         for(bit_ctr=0;bit_ctr<8;bit_ctr++) // output 8-bit
         {
              if(uchar & 0x80)         // output 'uchar', MSB to MOSI
                   SPI_RF_MO_HIGH;
              else SPI_RF_MO_LOW;
              uchar = (uchar << 1);           // shift next bit into MSB..
              SPI_RF_SCK_HIGH;                      // Set SCK high..
              inerDelay_us(20);
              if (READ_MI)
                   uchar|=0x01;                       // capture current MISO bit
              SPI_RF_SCK_LOW;                              // ..then set SCK low again
         }
         return uchar;                             // return read uchar
    }

    真的不明白时序图是怎么看。我看的上面的读写时序图,为什么理解的都是每当clk上升沿的时候读写数据,为什么程序里面的是上升沿输入,下降沿输出。我哪里理解错了,求大神指导?
    QQ图片20140123211550.jpg
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-7-30 06:34
  • 签到天数: 1257 天

    连续签到: 2 天

    [LV.10]以坛为家III

    发表于 2014-1-24 17:52:19 | 显示全部楼层
    我是这么理解的:
    时序图表示上升沿锁存,上升沿对应
    SPI_RF_SCK_HIGH;                      // Set SCK high..

    输出数据应在上升沿之前准备完成,故为
    if(uchar & 0x80)         // output 'uchar', MSB to MOSI
      SPI_RF_MO_HIGH;
    else SPI_RF_MO_LOW;
    uchar = (uchar << 1);           // shift next bit into MSB..

    到达上升沿后,数据稳定,此时可以读取数据,故为
    if (READ_MI)
      uchar|=0x01;                       // capture current MISO bit

    最后产生下降沿时钟
    SPI_RF_SCK_LOW;                              // ..then set SCK low again
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-2-26 21:41
  • 签到天数: 160 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-1-26 11:14:23 | 显示全部楼层
    我的理解:
    1、该芯片的读写共需要24个时钟周期;
    2、上述程序有8个时钟周期,所以该函数要调用3次;
    3、在调用函数之前,SCK要初始化低电平;
    4、写数据在SCK上升沿有效;
    5、在SCK高电平时读取数据。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-23 22:39 , Processed in 0.121504 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.