我正在尝试将这些SPH0645麦克风(I2S)连接到STM32f767ZI板。
我已经正确地连接了它,现在只是尝试通过UART将数据传递到我的pc来测试麦克风。希望有人能给我指明正确的方向。
我已经尝试直接传递到UART传输。然而,我认为我可能需要一些数据处理-我从UART接收,但有时只是0或其他时间只是胡言乱语,这不是来自麦克风,因为它仍然传输,即使我断开麦克风。
I2S麦克风正在接收32位帧中24位的数据,最后8位是垃圾。协议是大端的,我认为HAL库可以处理这个问题,但是我不能完全确定。
uint16_t data;
while (1)
{
/* USER CODE END WHILE */
HAL_StatusTypeDef result= HAL_I2S_Receive(&hi2s1,&data,2,100);
HAL_UART_Transmit(&huart3,&data,2,100);
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
} 我错过了什么?
发布于 2019-08-05 14:48:52
检查HAL_I2S_Receive(&hi2s1, &data, 1, 100)
HAL_I2S_Receive期望uint32_t*作为第二个参数?我想应该是uint16_t*HAL_UART_Transmit你想要通过串口传输数据。您不应该将data作为参数传递给HAL_UART_Transmit吗?https://stackoverflow.com/questions/57351731
复制相似问题