STM32F767 HAL库SPI1无法发送和接收数据,求助原子大哥?

2019-07-20 18:36发布

本帖最后由 zengchao678 于 2016-10-6 22:30 编辑

原子大哥:
      最近在调试VS1053B芯片的时候,发现STM32F767 HAL库SPI1无法发送和接收数据,我看了你的几个例程都是用IO模拟的,请问是不是HAL库有什么问题呢?

代码如下: (引脚配置代码没贴上来)

void VS1053B_SPI1_Config(void)
{
        SPI_HandleTypeDef  SpiHandle;
        
        SpiHandle.Instance               = SPI1;
        SpiHandle.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_128;
        SpiHandle.Init.Direction         = SPI_DIRECTION_2LINES;
        SpiHandle.Init.CLKPhase          = SPI_PHASE_1EDGE;
        SpiHandle.Init.CLKPolarity       = SPI_POLARITY_HIGH;
        SpiHandle.Init.DataSize          = SPI_DATASIZE_8BIT;
        SpiHandle.Init.FirstBit          = SPI_FIRSTBIT_MSB;
        SpiHandle.Init.TIMode            = SPI_TIMODE_DISABLE;
        SpiHandle.Init.CRCCalculation    = SPI_CRCCALCULATION_DISABLE;
        SpiHandle.Init.CRCPolynomial     = 7;
        SpiHandle.Init.NSS               = SPI_NSS_SOFT;
        SpiHandle.Init.Mode              = SPI_MODE_MASTER;
        
        HAL_SPI_Init(&SpiHandle);

}

uint8_t VS1053B_SPI1_SendByte(uint8_t Byte)
{
        HAL_SPI_Transmit(&SpiHandle, &Byte, 1, 500);
}

uint8_t VS1053B_SPI1_ReadByte(void)
{
        uint8_t receive_data = 0;

        HAL_SPI_Receive(&SpiHandle, &receive_data, 1, 500);

        return receive_data;
}

数据发送和接收都有问题,不知道怎么回事。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。