Stm32 这是去SPI的路吗?
我目前正在尝试使用该函数检查SPI是否正常工作。 如果一切正常,这个函数应该返回1…但它总是返回0。也许pTxData中的值是错误的Stm32 这是去SPI的路吗?,stm32,stm32f4discovery,Stm32,Stm32f4discovery,我目前正在尝试使用该函数检查SPI是否正常工作。 如果一切正常,这个函数应该返回1…但它总是返回0。也许pTxData中的值是错误的 uint8_t Gyro_CanReadWHOAMI() { uint8_t pTxData[2] = {0x0F | 0x80, 0}; uint8_t pRxData[2] = {0, 0}; HAL_GPIO_WritePin(NCS_MEMS_SPI_GPIO_Port, NCS_MEMS_SPI_Pin, GPIO_PI
uint8_t Gyro_CanReadWHOAMI() {
uint8_t pTxData[2] = {0x0F | 0x80, 0};
uint8_t pRxData[2] = {0, 0};
HAL_GPIO_WritePin(NCS_MEMS_SPI_GPIO_Port, NCS_MEMS_SPI_Pin, GPIO_PIN_RESET);
HAL_SPI_TransmitReceive(&hspi5, pTxData, pRxData, 2, HAL_MAX_DELAY);
HAL_GPIO_WritePin(NCS_MEMS_SPI_GPIO_Port, NCS_MEMS_SPI_Pin, GPIO_PIN_SET);
uint8_t test = pRxData[1] == 0x32;
return test;
}
使用STM32F429I-DISC1解决了错误的值
uint8_t Gyro_CanReadWHOAMI() {
uint8_t pTxData[2] = {0b10000000 | 0x0F, 0};
uint8_t pRxData[2] = {0, 0};
HAL_GPIO_WritePin(NCS_MEMS_SPI_GPIO_Port, NCS_MEMS_SPI_Pin, GPIO_PIN_RESET);
HAL_SPI_TransmitReceive(&hspi5, pTxData, pRxData, 2, HAL_MAX_DELAY);
HAL_GPIO_WritePin(NCS_MEMS_SPI_GPIO_Port, NCS_MEMS_SPI_Pin, GPIO_PIN_SET);
uint8_t test = pRxData[1] == 0xD4;
return test;
}
uint8_t Gyro_CanReadWHOAMI() {
uint8_t pTxData[2] = {0b10000000 | 0x0F, 0};
uint8_t pRxData[2] = {0, 0};
HAL_GPIO_WritePin(NCS_MEMS_SPI_GPIO_Port, NCS_MEMS_SPI_Pin, GPIO_PIN_RESET);
HAL_SPI_TransmitReceive(&hspi5, pTxData, pRxData, 2, HAL_MAX_DELAY);
HAL_GPIO_WritePin(NCS_MEMS_SPI_GPIO_Port, NCS_MEMS_SPI_Pin, GPIO_PIN_SET);
uint8_t test = pRxData[1] == 0xD4;
return test;