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.
我使用的是 MAX31855、它使用只读模式1 SPI 实现。
1) 1) 我想确认"clockPhase (时钟相位)"和"clockPolarity (时钟极性)"条目的正确值是多少
在 eUSCI_SPI_MasterConfig 结构中。
2) 2)芯片返回一个32位值(即4字节)。 这是否意味着我必须 执行4个随机字节的 SPI 传输、每次传输后进行 SPI 读取
为了检索所有4个字节或、1个随机 SPI 字节发送和4个 SPI 读取。
谢谢
您好!
[引用 user="David Nyarko]1) 我想确认'clockPhase '和'clockPolarity'条目的正确值是什么
供您参考:
/* SPI_POL0_PHA0 */ EUSCI_B_SPI_CLOCKPOLARITY_INACTION_LOW | EUSCI_B_SPI_PHASE_DATA_Captured_ONFIRST_Changed_ON_NEXT、 /* SPI_POL0_PHA1 */ EUSCI_B_SPI_CLOCKPOLARITY_INACTION_LOW | EUSCI_B_SPI_PHASE_DATA_Changed_ONFIRST_Capted_On_NEXT、 /* SPI_POL1_PHA0 */ EUSCI_B_SPI_CLOCKPOLARITY_INACTION_HIGH | EUSCI_B_SPI_PHASE_DATA_Captured_ONFIRST_Changed_ON_NEXT、 /* SPI_POL1_PHA1 */ EUSCI_B_SPI_CLOCKPOLARITY_INACTION_HIGH | EUSCI_B_SPI_PHASE_DATA_Changed_ONFIRST_captured_on_next
如果我没有弄错、对于 MAX31855、您将需要 SPI_POL0_PHA0、因此您的结构应如下所示:
eUSCI_SPI_MasterConfig spiMasterConfig = { EUSCI_B_SPI_CLOCKSOURCE_SMCLK、 // SMCLK 时钟源 0、 4000000、 // SPICLK = 4MHz EUSCI_B_SPI_MSB_FIRST、 // MSB First EUSCI_B_SPI_PHASE_DATA_Captured_ONFIRST_Changed_ON_NEXT、// Phase EUSCI_B_SPI_CLOCKPOLARITY_INACTION_LOW、//低极性 EUSCI_B_SPI_3引脚 // 3线 SPI 模式 };
[引用用户="David Nyarko"]
2) 2)芯片返回一个32位值(即4字节)。 这是否意味着我必须 执行4个随机字节的 SPI 传输、每次传输后进行 SPI 读取、以便检索所有4个字节或1个随机 SPI 字节传输和4个 SPI 读取。 [/报价]
四 次 SPI 读取、bspSpiRead (myBuf、4);
void bspSpiWrite (const uint8_t * buf、size_t length) { while (length-) { map_spi_transmitData (eUSCI_B0_BASE、* buf++); while (map_spi_isBusy (eUSCI_B0_BASE)); } void bspi_transmitData (uint8_BASE = 0xbsp+);* bspi_translength (while +)* bSPI (uint0_bspi_bspi_bus+)+(while)+(uSPI)+(buSPI)+)* bus_buSPI (bus_bus_bus_bus_bus_bt (while +); }* busi_bid_bus_b
希望这对您有所帮助。
David
谢谢。 这对我有很大帮助。 我仍有一些问题、但我将创建一个独立项目、该项目仅与热电偶 IC 通信并从该 IC 开始工作
以确认它是否与固件或硬件相关。
谢谢。 现在一切都正常。