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.

[参考译文] MSP430FR6989:将再次设置具有已激活选择寄存器的端口时会发生什么情况

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/898649/msp430fr6989-what-happens-when-a-port-with-activated-selection-registers-will-be-set-again

器件型号:MSP430FR6989

您好!

我们会看到一些奇怪的行为、只是需要确认。

我们有一个端口。 假设是9.0。 两个选择寄存器都被置位、这就是所谓的"超级三态"模式。 该引脚的其他寄存器为输出低电平、无上拉电阻。 现在、当我再次写入两个选择寄存器时、会发生什么情况? 硬件中是否发生任何情况?  

此致

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

    大家好、Tunguskar、

    一旦启用 ESI 模块、'FR6989上的端口9就会有所不同。

    如果未启用 ESI、则端口9的行为类似于常规端口。 再次向端口寄存器写入相同的值不会改变任何东西。  

    启用 ESI 将导致 在 所有四个通道上使用 ESI 模拟功能。 ESI 模块的模拟功能可用于端口9上的所有八个引脚。 这些功能不能单独关闭。 ESICIx 也用作输入、但您可以在某种程度上将其用作 GPIO。 未使用 ESICI 引脚上的高切换率将影响所选 ESICI 信号的传感器信号质量。 使用 ESI 时、仅将未使用的 ESICI 用于静态信号传输、或仅在不感应旋转时使用。 如果您在 ESI 打开时看到一些奇怪的情况、您可能已经看到了这种效果。

    我希望这对我有所帮助、祝你度过美好的一天

      Johann。

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

    Johann、您好、感谢您的回复。

    否 ESI 接口未激活。 我的问题已释放到 IrDA 二极管。 端口连接到二极管的阳极。

    正常处理是:

    RX_PortPinSettings()

    SEL0 = 1

    SEL1 = 1

    DEACTIVE_PortPinSettings()

    SEL0 = 1

    SEL1 = 1

    通常情况下,如果 未收到内存,系统将唤醒,调用 RX_PortPinSettings() Deactive_PortPinSettings()。

    我们看到的是,调用 RX_PortPinSettings()时,会出现一些小的干扰。 起初这不是问题。 但当计数器部分通过光电元件发送唤醒字节时。 这个干扰、就在端口设置启动时、会变得更高、并导致 RX 缓冲器中出现0xFF。

    此致 Christian

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

    Christian、您好、

    设置 P9SEL0.x 和 P9SEL1。 两个1选择 ESI 功能!

    如果您为此使用不同的端口

    您只需使用以下序列:

    //从复位 sel0=0开始;sel1=0

    P9SEL0=1;

    P9SEL1=1;

    //结果为 sel0=1;sel1=1;

    但这会经历 sel0=1;sel1=0状态;因为这是两个不同的指令。

    从 sel0=0;sel1=0直接变为 state sel0=1;sel1=1;

    只需写入 P9SELC=1;

    这在两个位上都很重要。

    祝你度过美好的一天

       Johann