主题中讨论的其他器件:FDC1004
您好!
抱歉、如果之前有人问过这一点、但我找不到具体答案。
首先、我不熟悉 MSP430、我以前只在 ST Arm MPU 上工作了大约6个月。
我尝试使用 I2C 与 FDC1004电容感应芯片进行通信。 我一直在看 Driverlib 示例、有一件事对我来说似乎没有意义。
在示例中、TX 函数有一个参数、如下所示填充 为"transmitData"。 最初、我以为这是您要发送到从设备的数据。 问题是、如何在从站注册表中指定要写入的地址?
EUSCI_B_I2C_masterSendSingleByte (EUSCI_B0_BASE、transmitData);
作为参考、这是该函数的内部
void EUSCI_B_I2C_masterSendSingleByte (uint16_t baseAddress、 uint8_t txData ) { //存储当前 TXIE 状态 uint16_t txieStatus = HWREG16 (baseAddress + OFS_UCBxIE)& UCTXIE; //禁用发送中断使能 HWREG16 (baseAddress + OFS_UCBxIE)&=~(UCTXIE); //发送启动条件。 HWREG16 (baseAddress + OFS_UCBxCTLW0)|= UCTR + UCTXSTT; //轮询发送中断标志。 while (!(HWREG16 (baseAddress + OFS_UCBxIFG)& UCTXIFG)); //发送单字节数据。 HWREG16 (baseAddress + OFS_UCBxTXBUF)= txData; //轮询发送中断标志。 while (!(HWREG16 (baseAddress + OFS_UCBxIFG)& UCTXIFG)); //发送停止条件。 HWREG16 (baseAddress + OFS_UCBxCTLW0)|= UCTXSTP; //在再次启用中断之前清除发送中断标志 HWREG16 (baseAddress + OFS_UCBxIFG)&=~(UCTXIFG); //恢复发送中断使能 HWREG16 (baseAddress + OFS_UCBxIE)|= txieStatus; }
根据这里的另一个问题、在示例中、transmitData 设置为0x01、实际上是要写入的寄存器的指针。 但是、如果是这种情况、那么发送给它的数据是什么?
如果这是一个愚蠢的问题、请道歉。 我可能对 I2C 缺乏了解。
谢谢、
Damien