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.

[参考译文] CCS/EK-TM4C123GXL:SW1按钮和 LED

Guru**** 2482105 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/706565/ccs-ek-tm4c123gxl-sw1-button-and-led

器件型号:EK-TM4C123GXL

工具/软件:Code Composer Studio

如何使用按钮打开 LED、然后在再次按下时将其关闭?  

目前、我的程序仅在我按住按钮时打开 LED、而在我松开时关闭 LED

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

    [引用 user="Germaine Tan ]\n 如何使用按钮打开 LED ...  然后在再次按下时将其关闭?  [/报价]

    该目标描述了一个"切换功能"- 每个按钮(切换、实际)操作之后、按顺序出现2种独特行为。   您当前的程序似乎简单地说、"监控" 接收此类开关输入的开关(通过 MCU 的 GPIO 引脚)。   正如您所指出的那样、这更容易-但不是很有价值。

    "实时开关监控"要简单得多-并避免常见的"问题"... 廉价 交换机的已知趋势"接触反弹"。  (反弹是指多个触点"唤醒/中断" (闭合/断开)的生成-通常持续几毫秒。    也称为"接触振荡"-这些是在开关的机械电气触点接合(或分离)时产生的。

    将其作为(必要)背景-现在满足您所要求的编程要求

    • 您的程序必须"知道"该开关的当前状态
    • 您的程序必须(正确)检测该开关的"状态变化"
    • "状态变化"检测-一定不能被"开关反弹"欺骗
    • 如果发生所需的程序操作、则开关状态何时且仅当开关状态变得足够"可"(即无回弹)

    您必须购买(接受)所有四个功能的需求。   达成一致后-"您"如何建议编写代码-实现每个功能?   这是必需的-是不是吗?   

    如果您做出了这样的努力-并在这里展示-我将再次提供(进一步)鼓励(也许是指导)-但 您的"学习"最好由您的"处理这些计划问题"-现在以"合理"的清晰说明-并提请您注意...

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

    您好 CB1、  

    如何对开关进行去抖?  

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

    "您"如何回答(任何)先前-仍然未解决-的问题?    在这里、任何人都会感觉"一点动力"-在创建如此集中的细节之后-然后收到"回答帖子" - (显然)-是"无回应!"    除此之外、在 "加载"之前、我们很亲切地"感谢"您的唯一和详细的响应者-还有更多问题-这不是真的吗?

    在我(第一)识别此类"开关反弹"-以及(第二)" 反弹 "效应(和持续时间)的描述中、有(几个可靠的线索。)     您可能还记得、有人提到"反弹"、"不是-永远坚持下去!"   (这几乎会使您的“退回解决工作”... 太容易了-不是吗?)

    单向数据转储-虽然(部分)在这里练习-不会最大化论坛用户的"学习"-这是我的追求和目的...

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

    正如 CB1所提到的、这不仅仅是一个基本的工程问题、而是一个特定于我们器件的问题。 有许多资源可用于了解如何实现您的目标、我建议您在该主题上进行一些 Web 搜索。 Stackoverflow 可能也有一些有用的文章。

    在您了解"一般情况"后、如果您遇到 TM4C 上的实施问题、请发布您的源代码、我们可以在此处进一步评论以提供帮助。