打印

请教一个SPI通讯的问题

[复制链接]
2139|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 kokoromi 于 2011-3-31 15:44 编辑

现在正在做一个单片机和ENC28J60通讯的东西,单片机和ENC28J60通过SPI通讯,他们的时序图如下两图所示,我想问的是:根据ENC28J60的时序图,单片机应该怎样设置CKPLCKPH?多谢了~


单片机的硬件SPI时序图:




ENC28J60的SPI时序图:

相关帖子

沙发
iC921| | 2011-3-30 16:54 | 只看该作者
没搞过,每次看都是生生的:'(

使用特权

评论回复
板凳
xmar| | 2011-3-30 17:40 | 只看该作者
单片机设置:

CKPL = 0;
CKPH = 1;

使用特权

评论回复
地板
zjp8683463| | 2011-3-30 18:31 | 只看该作者
ENC28J60你是怎么设置的?

使用特权

评论回复
5
kokoromi|  楼主 | 2011-3-31 08:50 | 只看该作者
ENC28J60你是怎么设置的?
zjp8683463 发表于 2011-3-30 18:31

这个没法设置啊,手册上说只支持SPI的0,0模式,而且要求SCK在空闲状态时为低电平...

使用特权

评论回复
6
fastolf| | 2011-3-31 11:38 | 只看该作者
单片机如果支持硬件SPI,那就直接配置寄存器就行啊。
以前调试过STM32的SPI,我感觉主要还是掌握好时钟信号,配置好是上升沿有效还是下降沿有效这些参数,如果支持0,0模式,那你就直接把单片机也配置成那样的就没问题。

使用特权

评论回复
7
yuyi21ic| | 2011-3-31 12:13 | 只看该作者
你那个芯片上应该有提到单片机怎么配置CKPL和CKPH吧,我记得上次弄CH376的时候,这个芯片就说了。

使用特权

评论回复
8
kokoromi|  楼主 | 2011-3-31 13:58 | 只看该作者
单片机设置:

CKPL = 0;
CKPH = 1;
xmar 发表于 2011-3-30 17:40


今天仔细想了想,感觉你说的差不多...

使用特权

评论回复
9
batsong| | 2011-3-31 15:28 | 只看该作者
哈哈,MSP430吧,这图似曾相识,下面是操作25LC eeprom的初始化,下降沿改变,上升沿采样

  UCB0CTL1 |= UCSWRST;                      // **Put state machine in reset**
  UCB0CTL0 |= UCMST+UCSYNC+UCCKPL+UCMSB;    // 3-pin, 8-bit SPI master
                                            // Clock polarity high, MSB
  UCB0CTL1 |= UCSSEL_2;                     // SMCLK
  UCB0BR0 = 0x02;                           // /2
  UCB0BR1 = 0;                              //
  UCB0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**

使用特权

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

本版积分规则

111

主题

344

帖子

3

粉丝