本帖最后由 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;
}
数据发送和接收都有问题,不知道怎么回事。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
大神 问下你知道阿波罗开发板使用HAL库,SPI设为从机,用中断接收数据,SPI中断怎么写啊,和串口中断有区别吗?
一周热门 更多>