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;
}

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

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
zengchao678
1楼-- · 2019-07-21 00:20
 精彩回答 2  元偷偷看……
taizonglai
2楼-- · 2019-07-21 00:42
 精彩回答 2  元偷偷看……
yangkefeng
3楼-- · 2019-07-21 04:50
zuozhongkai 发表于 2016-10-6 22:36
不会啊,F7的NRF24L01就用的硬件SPI,不过用的是SPI2还是SPI5我记得,你可以参考一下

大神   问下你知道阿波罗开发板使用HAL库,SPI设为从机,用中断接收数据,SPI中断怎么写啊,和串口中断有区别吗?

一周热门 更多>