查看: 1195|回复: 0
打印 上一主题 下一主题

STM32 F051 SPI1收不到返回数据

[复制链接]
跳转到指定楼层
沙发
发表于 2015-10-7 13:10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有谁用过STM32F051C8T6 的SPI1的啊(PB3,PB4,PB5)脚,发出信号正常,但收不到数据,示波器显示返回的信号,有微小的电平变化,初始化代码如下

#define LD_CS_ClockEnable()                             RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE)
#define LD_CS_PIN                     GPIO_Pin_12
#define LD_CS_PORT                    GPIOA

#define LD_CS_L()                     GPIO_ResetBits(LD_CS_PORT, LD_CS_PIN)
#define LD_CS_H()                     GPIO_SetBits(LD_CS_PORT, LD_CS_PIN)

#define LD_SPI            SPI1

#define LD_SPI_GPIO_ClockEnable()     RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB, ENABLE)
#define LD_SPI_ClockEnable()          RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE)

#define LD_SPIS_PIN          GPIO_Pin_15
#define LD_SPIS_PORT         GPIOA

#define LD_SPIS_L()          GPIO_ResetBits(LD_SPIS_PORT, LD_SPIS_PIN)
#define LD_SPIS_H()          GPIO_SetBits(LD_SPIS_PORT, LD_SPIS_PIN)

#define LD_SCK_PIN           GPIO_Pin_3
#define LD_SCK_PORT          GPIOB
#define LD_SCK_SOURCE        GPIO_PinSource3
#define LD_SCK_AF            GPIO_AF_0

#define LD_MISO_PIN          GPIO_Pin_4
#define LD_MISO_PORT         GPIOB
#define LD_MISO_SOURCE       GPIO_PinSource4
#define LD_MISO_AF           GPIO_AF_0

#define LD_MOSI_PIN          GPIO_Pin_5
#define LD_MOSI_PORT         GPIOB
#define LD_MOSI_SOURCE       GPIO_PinSource5
#define LD_MOSI_AF           GPIO_AF_0

          SPI_InitTypeDef  SPI_InitStruct;
          GPIO_InitTypeDef GPIO_InitStruct;

          LD_SPI_GPIO_ClockEnable();
          LD_SPI_ClockEnable();

                   /*!< Configure SD_SPI pins: SCK */
                GPIO_InitStruct.GPIO_Pin = LD_SCK_PIN;
                GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;
                GPIO_InitStruct.GPIO_Speed = GPIO_Speed_Level_3;
                GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
                GPIO_InitStruct.GPIO_PuPd  = GPIO_PuPd_UP;
                GPIO_Init(LD_SCK_PORT, &GPIO_InitStruct);

           /*!< Configure SD_SPI pins: MISO */
                GPIO_InitStruct.GPIO_Pin = LD_MISO_PIN;
                GPIO_Init(LD_MISO_PORT, &GPIO_InitStruct);

  /*!< Configure SD_SPI pins: MOSI */
                GPIO_InitStruct.GPIO_Pin =LD_MOSI_PIN;
                GPIO_Init(LD_MOSI_PORT, &GPIO_InitStruct);

           /* Connect PXx to SD_SPI_SCK */
                GPIO_PinAFConfig(LD_SCK_PORT, LD_SCK_SOURCE, LD_SCK_AF);

                /* Connect PXx to SD_SPI_MISO */
                GPIO_PinAFConfig(LD_MISO_PORT, LD_MISO_SOURCE, LD_MISO_AF);

                /* Connect PXx to SD_SPI_MOSI */
                GPIO_PinAFConfig(LD_MOSI_PORT, LD_MOSI_SOURCE, LD_MOSI_AF);

                         /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */
                GPIO_InitStruct.GPIO_Pin =LD_SPIS_PIN;
                GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
                GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
                GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
                GPIO_InitStruct.GPIO_Speed = GPIO_Speed_Level_3;
                GPIO_Init(LD_SPIS_PORT, &GPIO_InitStruct);

                LD_SPIS_H();


                SPI_Cmd(LD_SPI, DISABLE); /*!< SD_SPI disable */
                  /*!< SD_SPI Config */
                SPI_InitStruct.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
                SPI_InitStruct.SPI_Mode = SPI_Mode_Master;
                SPI_InitStruct.SPI_DataSize = SPI_DataSize_8b;
                SPI_InitStruct.SPI_CPOL = SPI_CPOL_High;
                SPI_InitStruct.SPI_CPHA = SPI_CPHA_2Edge;
                SPI_InitStruct.SPI_NSS = SPI_NSS_Soft;
                SPI_InitStruct.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64;
                SPI_InitStruct.SPI_FirstBit = SPI_FirstBit_MSB;
                SPI_InitStruct.SPI_CRCPolynomial = 7;
                SPI_Init(LD_SPI, &SPI_InitStruct);
                SPI_RxFIFOThresholdConfig(LD_SPI, SPI_RxFIFOThreshold_QF);
                SPI_Cmd(LD_SPI, ENABLE); /*!< SD_SPI enable */
转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表