SPI dma通信现在status状态是0 成功的,所以发送是成功的,为什么接收rx_buffer中的数为0呢,可能是什么原因呢,spi接的是一个hall传感器,按理说是可以直接接收到数据的
-
void test_spi(void)
{
uint8_t tx_buffer[4] = {0};
uint8_t rx_buffer[4] = {0};
tx_buffer[0] = READ_TEMP_CMD;
tx_buffer[1] = 0x00;
tx_buffer[2] = 0x00;
tx_buffer[3] = calculate_crc8(tx_buffer,3);PRINTF("SPI Master Transfer: \n"); for (uint8_t idx = 0; idx < 4; idx++) { PRINTF("%02x ", tx_buffer[idx]); } PRINTF("\n"); sc69431_cs_low(); status_t status =SPI_DRV_MasterTransfer(0,tx_buffer,rx_buffer,4); PRINTF("Transfer start status: %d\n", status); if (status != STATUS_SUCCESS) { PRINTF("Error: SPI transfer start failed: %d\n", status); sc69431_cs_high(); return; } while ((STATUS_SUCCESS != SPI_DRV_MasterGetTransferStatus(0, NULL))) { OSIF_TimeDelay(1); if (timer++ > TIMEOUT) { spiError = true; PRINTF("Error: Please check pin connected\n"); } } timer = 0; sc69431_cs_high(); if (spiError) { PRINTF("SPI transfer failed\n"); return; } PRINTF("SPI Master Received: \n"); for (uint8_t idx = 0; idx < 4; idx++) { PRINTF("%02x ", rx_buffer[idx]); } PRINTF("\n");// SPI_DRV_MasterDeinit(0);
}
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...


