请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR2355 您好:
我测试 了 msp430fr235x_euscia0_SPI_09 此例程、
我发现、当 MOSI 的最后一位为1时、它在空闲状态下也是1、最后一位为0、在空闲状态下也是0。
这是如何配置的? 谢谢。
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.
您好:
我测试 了 msp430fr235x_euscia0_SPI_09 此例程、
我发现、当 MOSI 的最后一位为1时、它在空闲状态下也是1、最后一位为0、在空闲状态下也是0。
这是如何配置的? 谢谢。
为了清零、当您提到空闲状态时、您是否意味着 eUSCI 被阻止等待下一个字符写入 TXBUF 的周期?
据我所知、MOSI 的状态只会在 UCCKPL 和 UCCKPH 选择的位时钟的适当边沿发生变化。 即 CLK 的下降沿。 在字符之间、位时钟处于非活动状态、因此 MOSI 保持在发送的最后一位的值。
从从器件的角度来看、这并不重要、但如果字符之间存在较长的延迟、则可能会增加功耗。
我认为在 eUSCI 外设本身中没有办法解决这个问题。 不过、您可以在两次传输之间以适当的电平将 MOSI 引脚切换回 GPIO 模式。
编辑:是的、可以。 我将 P1.7 GPIO 配置为带有下拉电阻的输入、然后在加载每个字节之前选择了 eUSCI、并在 RXIFG 之后将其设置回 GPIO:
请注意、RXIFG 之后需要一个短延迟来确保在 MOSI 的状态被改变前从器件已经完成读取。 这需要至少保持1/2个位时钟周期。