This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/TDC7200:无法从 MSP432写入/读取 TDC7200寄存器

Guru**** 2589300 points
Other Parts Discussed in Thread: TDC1000, TDC7200

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/609453/rtos-tdc7200-cannot-write-read-tdc7200-registers-from-msp432

器件型号:TDC7200
主题中讨论的其他器件:TDC1000

工具/软件:TI-RTOS

我尝试使用 MSP432与 TDC1000和 TDC7200通信(两者都连接到同一 SPI 总线)。

读取/写入 TDC1000寄存器没有问题、但我对 TDC7200也没有成功。

加电时、我将使能引脚从低电平切换为高电平、然后将其保持为高电平。 输入时钟(8MHz)看起来正常、与 TDC1000相同。

我已经尝试过从100000Hz 到5MHz 的 SPI 频率。 我还尝试在传输之间切换 CS 引脚。

我不会读回我正在写入的内容、即使在初始读取时、我也不会获得默认复位值。 我只读回0x00。

以下是寄存器3上 SPI 事务的代码片段:

GPIO_WRITE (MSP_EXP432P401R_GPIO_9_0_TDC7200_CS、0);
//GPIO_WRITE (MSP_EXP432P401R_GPIO_3_4_TDC1000_CS、0);
usleep(10);
masterTransaction.count = 2;
masterTransaction.txBuf =(void *) masterTxBuffer;
masterTransaction.rxBuf =(void *) masterRxBuffer;
masterTxBuffer[0]= 0x43;//写入寄存器地址3.
masterTxBuffer[1]= 0x07;

/*启动 SPI 传输*/
transferOK = SPI_transfer (masterSpi、&masterTransaction);
GPIO_WRITE (MSP_EXP432P401R_GPIO_9_0_TDC7200_CS、1);
//GPIO_WRITE (MSP_EXP432P401R_GPIO_3_4_TDC1000_CS、1);
usleep(10);

GPIO_WRITE (MSP_EXP432P401R_GPIO_9_0_TDC7200_CS、0);
//GPIO_WRITE (MSP_EXP432P401R_GPIO_3_4_TDC1000_CS、0);
usleep(10);
masterTransaction.count = 2;
masterTransaction.txBuf =(void *) masterTxBuffer;
masterTransaction.rxBuf =(void *) masterRxBuffer;
masterTxBuffer[0]= 0x03;//读取
masterTxBuffer[1]= 0x00;

/*启动 SPI 传输*/
transferOK = SPI_transfer (masterSpi、&masterTransaction);
GPIO_WRITE (MSP_EXP432P401R_GPIO_9_0_TDC7200_CS、1);
//GPIO_WRITE (MSP_EXP432P401R_GPIO_3_4_TDC1000_CS、1);
usleep(10);

if (transferOK){
/*打印主接收缓冲区的内容*/
Display_printf (display、0、0、"Master:[%u]=[%u][%u]\n"、masterTxBuffer[0]、masterRxBuffer[0]、masterRxBuffer[1]);
}
否则{
display_printf (display、0、0、"主 SPI 传输失败");
} 

感谢您的帮助!