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.

[参考译文] TDC1000-TDC7200EVM:7200:不知道如何将键盘与MSP430F5528连接

Guru**** 2535750 points
Other Parts Discussed in Thread: MSP430F5528

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/578970/tdc1000-tdc7200evm-don-t-know-how-to-connect-keypad-with-msp430f5528

部件号:TDC1000-C2000EVM</s>2000
主题中讨论的其他部件:MSP430F5528

嗨!!! 每个人!!

我正在尝试将1个开/关键盘连接到J6的GPIO3。 如下图所示;

我已连接尝试缩短GPIO3和GND,但没有发生任何反应。 这是我的代码(完整代码)。 ScanKeyPads()在main的"while (时)"循环中调用。

#define KEYPICT_PxOUT     P4OUT //Port4
#define KEYPICT_Px_IN     P4IN //Port4
#define KEYPICT_PxDIR      P4DIR //Port4
#define键盘_PxSEL      P4SEL //Port4

#define KEYPAD1_PIN    BIT4 //WFP 4.4 -->J6.GPIO3
#define KEYPAY2_PIN    BIT5 //WFP 4.5 -->J6.GPIO4

Void ScanKeyPads()(无效扫描键盘)

   如果((PKEYD_Px_IN>5)&0)
      {
      同时(1);
      }
}

请告诉我如何实现这一目标。

此外,

 在主循环中将其称为是好的吗?

因为1. LCD (通过I2C)闪烁。 2,因此引入了测量结果。

请再帮我!!! 我总是感谢您的帮助。

此致,

徐素浩

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

    图中所示的EVM是TDC1000-TDC7200 EVM7200 EVM,它使用的是MSP430F5528微控制器,而不是C2000。 我要将其移至MSP论坛,并编辑标题以提高可见性。

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

    您好Sukho,

    我不熟悉这款特定的EVM,但让我们看看我是否可以在这里为您提供帮助。 首先,您能描述一下您在缩短WFP 4.4 的时间时所做的事情吗? 您是否尝试中断? 如果您只是想查看WFP 4.4 的状态(WFP 4.4 是否为0?) 然后,您将需要屏蔽完整的P4IN寄存器以进行此操作。 例如:

    IF (~(P4IN和BIT4))

    //做一些事情

    }

    除非您的上述支票为零,否则您的支票将不会是零,除非您的4.4 -WFP 4.7 都是零。

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

    以上帖子是否有助于解决您的问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    实际上,如果您所指的上面的检查是“ IF ((PKEYD_Px_IN>5)&0)" ,则它将始终为零。  与零进行AND运算的任何内容都将为零。

    我认为您的上述解决方案正是他所寻求的。 非常好。

    谢谢,

    Barry

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

    我找到了一个未使用的端口,并决定将其用于端口中断。 虽然我还在挣扎,但我还是让它工作了。 如果在将I2C数据发送到LCD时生成端口中断,则整个程序只会停止。 在发送前关闭中断,然后在发送后再次打开,可以稍微缓解问题,但不是完全解决问题。 我想我必须在代码的其他部分再次打开和关闭它....

    度过一个愉快的周末!!!