返回该小组首页 回复主题
surfboy

surfboy

小组等级:     E币:195  (E币换礼)

#1楼主:请教版主 SPI2设置的问题

文章发表于:2008-07-20 01:49

请教版主,我用的是STM32的2.01版Lib,在设置SPI2为第二个CLK时数据开始,

根据Lib 里应该   SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
就可以了,但是修改后还是只有8个CLK, 问是哪里设置错误 ?

SPI_Cmd(SPI2, DISABLE);
    /* 1st phase: SPI2 Master  */
    /* SPI2 Config -------------------------------------------------------------*/
    SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
    SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
    SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
    SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;

    SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
    SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
    SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;        //70Kbit/s
    SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
    SPI_InitStructure.SPI_CRCPolynomial = 7;
    SPI_Init(SPI2, &SPI_InitStructure);

    /* Enable SPI2 */
    SPI_Cmd(SPI2, ENABLE);

其中STM32F10X_spi.h 中定义的

/* SPI Clock Phase */
#define SPI_CPHA_1Edge                  ((u16)0x0000)
#define SPI_CPHA_2Edge                  ((u16)0x0001)

STM32

   小组等级:    E币:3736  (E币换礼)

#2

文章发表于:2008-07-20 21:24

哪里也没有错,是你的概念错了。

SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
表示在时钟的第2个边沿(Edge)采样,而不是第2个时钟。

SPI传输时,每个字节始终都是8个时钟脉冲。

总共 , 当前 /

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

  • DesignDesign
  • HTMLHTML

浏览该小组的用户还看过...

设计资源与分销