你(们)好
我有一个项目、要在同一应用中将 UCB1端口配置为 I2C 和 SPI、请在需要时在它们之间切换。
使用 UCB1CTL0和 USB1CTL1的 I2C 和 SPI 看起来是相同的寄存器。 当 UCSWRST 位同时复位 I2C 和 SPI 时、当使用 UCSWRST 位启用 I2C 或 SPI 时 、它会同时启用 I2C 和 SPI。 这可以正常工作吗? 我不能把它做对、任何工作、请告诉我。
路易
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.
你(们)好
我有一个项目、要在同一应用中将 UCB1端口配置为 I2C 和 SPI、请在需要时在它们之间切换。
使用 UCB1CTL0和 USB1CTL1的 I2C 和 SPI 看起来是相同的寄存器。 当 UCSWRST 位同时复位 I2C 和 SPI 时、当使用 UCSWRST 位启用 I2C 或 SPI 时 、它会同时启用 I2C 和 SPI。 这可以正常工作吗? 我不能把它做对、任何工作、请告诉我。
路易
你(们)好、JH
以下内容说明了详细屏幕截图
ramWtSpiData ->使用 SPI 总线在 FRAM 芯片中写入数据。
u32ToU8 ->设置写入地址的格式。 在观察1中、显示 u8TempB[4]有数据[0]= 0x00、[1]= 0x04、[2]= 0x00、[3]= 0x00
在断点处、SPI 总线发出0x00 0x04、然后再次发送0x00
Register1 Shoe USCI_B1_SPI 模式 UCB1TxBUF __SPI = 0xE1 UCB1RXBUF __SPI = 0xFF
寄存 器2显示 USCI_B1 I2C 模式 UCB1TxBUF= 0xE1 UCB1RXBUF = 0xFF。
在调用 ramWtSpiData 之前、代码处于 USCI_B1 SPI 模式、代码会将 UCSWRST 从1更改为0; 但代码会保持 UCB1CTRL1 I2C 模式 UCSWRST = 1;但可以看到、它是0。
问题是在一个应用中使用 USCI_B1进行 I2C 和 SPI 管理、在需要时在 I2C 和 SPI 之间切换、I2C 总线芯片工作正常、可以在这些芯片上查看数据、SPI 总线芯片、它们不工作。 代码无法在 FRAM 中写入数据或从 FRAM 中读回、无法读回所有1s 或0xFF。 需要一种解决方案来使 SPI 总线芯片读取/写入数据。
ramWtSpiData ->使用 SPI 总线在 FRAM 芯片中写入数据。
u32ToU8 ->设置写入地址的格式。 在观察1中、显示 u8TempB[4]有数据[0]= 0x00、[1]= 0x04、[2]= 0x00、[3]= 0x00
在断点处、SPI 总线发出0x00 0x04、然后再次发送0x00
Register1 Shoe USCI_B1_SPI 模式 UCB1TxBUF __SPI = 0xE1 UCB1RXBUF __SPI = 0xFF
寄存 器2显示 USCI_B1 I2C 模式 UCB1TxBUF= 0xE1 UCB1RXBUF = 0xFF。
在调用 ramWtSpiData 之前、代码处于 USCI_B1 SPI 模式、代码会将 UCSWRST 从1更改为0; 但代码会保持 UCB1CTRL1 I2C 模式 UCSWRST = 1;但可以看到、它是0。
使用 Microsoft 模式。 它无法附加捕获。 以上问题列表。