Thread 中讨论的其他器件:SysConfig、 ADS1292R
工具/软件:Code Composer Studio
你(们)好
我正在使用 CC3220modasf launchpad、我尝试通过 SPI 与 ADS1292R 板进行通信、我在 SPI 通信中遇到了一些问题。 我已经验证了 ADS1292R 与 其他一些 MCU 的代码、它工作正常。 下面是我将获得的 SPI 波形、MOSI 引脚始终为高电平。 SPI 在返回时被正确初始化、SPI 句柄也返回 SPI_TRANSFCTION 成功并且没有错误。 因此、我想知道我在初始化 SPI 或数据传输时是否出错。 还添加了 SPI 通信的代码。 我使用 SysConfig 进行默认 SPI 引脚分配(P05、P06、P07、P08)。
请建议 MOSI 引脚显示此行为的潜在问题是什么。
静态 SPI_Handle ADS_SPI_Handle = NULL; bool SPI_open (uint32_t 比特率) { char ret = 0; SPI_Params ADS_SPI_params; SPI_Params_init (&ADS_SPI_params); ADS_SPI_params.bitrate =比特率; ADS_SPI_params.mode = SPI_MASTER; ADS_SPI_params.transferMode = SPI_MODE_BLOCKING; ads_spi_params.frameFormat = SPI_POL0_PHA1; ADS_SPI_Handle = SPI_open (CONFIG_SPI_0、&ADS_SPI_params); if (ads_spi_handle!=空) { display_printf (display、0、0、"Master SPI initialized %d\n"、bitrate); RET = 1; } return; } // int spi_transfer (const uint8_t * TXBUF、const uint8_t * RXBUF、size_t len) { SPI_Transaction 事务; 内转台; transaction.count = len; transaction.txBuf =(void *) TXBUF; transaction.rxBuf =(void *) RXBUF; transaction.arg =空; RET = SPI_TRANSFCTION (ADS_SPI_Handle、事务); return; } */ void SPI_close() { if (ads_spi_handle!=空) { SPI_Close (ADS_SPI_Handle); ADS_SPI_Handle = NULL; } } int spi_write (const uint8_t * buf、size_t len) { SPI_Transaction masterTransaction; masterTransaction.count = len; masterTransaction.txBuf =(void*) buf; masterTransaction.arg =空; masterTransaction.rxBuf =(void *) NULL; 返回 SPI_TRANSIZE (ADS_SPI_Handle、&masterTransaction); } int SPI_read (const INT8_t * RXBUF、size_t len) { SPI_Transaction masterTransaction; int retval; masterTransaction.count = len; masterTransaction.txBuf =(void *) NULL; masterTransaction.arg =空; masterTransaction.rxBuf =(void *) RXBUF; RetVal = SPI_transfer (ADS_SPI_Handle、masterTransaction); display_printf (display、0、0、"SPI transfer SPI read =%d \n"、retval); 返回评估; }

