Other Parts Discussed in Thread: MSPM0C1105, DRV8908-Q1
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: DRV8908-Q1
Thread 中讨论的其他器件: MSPM0C1105、
您好团队:
我将 MSPM0C1105 微控制器与 DRV8908 用于 SPI 通信。 我正在尝试实现环回测试、但无法正常工作。 下面是示例代码。
Void SpiLoopBacktesting(Void)
{
uint16 SPI_TRANSMIT_DATA = 0x01;
uint16 spi_receive_data;
/*检查 SPI TX FIFO(发送 FIFO 缓冲器)是否为空、是否准备好接收新数据*/
IF (DL_SPI_isTXFIFOEmpty (SPI_0_INST))
{
/*等待 TX FIFO 为空*/
while(!(DL_SPI_isTXFIFOEmpty (SPI_0_INST)));
/*芯片选择低*/
DL_GPIO_clearPins (GPIO_GRP_0_PORT、GPIO_SPI_0_CS0_PIN);
/*将数据发送到从器件*/
DL_SPI_transmitData16 (SPI_0_INST、SPI_TRANSMIT_DATA);
/*假设 32MHz CPU_CLK */、这会导致大约 10s 的延迟
delay_cycles (320000000);
/*接收到主设备的数据*/
SPI_RECEIVE_DATA = DL_SPI_receiveData16 (SPI_0_INST);
/*芯片选择高*/
DL_GPIO_setPins (GPIO_GRP_0_PORT、GPIO_SPI_0_CS0_PIN);
IF (SPI_RECEIVE_DATA == 0x01)
{
printf(“SPI 环回传递\n“);
}
暴露
{
printf(“SPI 环回失败\n“);
}
}
暴露
{
/*不执行任何操作*/
}
}
或者、请帮我了解如何读取器件 ID

请告诉我、是否需要注意任何引脚配置
