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.

[参考译文] MSP430G2553:调光器电平按钮

Guru**** 2551110 points
Other Parts Discussed in Thread: CC2530

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/825470/msp430g2553-dimmer-level-push-button

器件型号:MSP430G2553
主题中讨论的其他器件:CC2530

´m 大家好、我在调光器开关中工作、我已经成功地通过 Zigbee 接口进行连接、现在我需要通过按钮创建物理多点触控液位接口。 我的脑海中有这样的东西:

´ll´ll 将调光器刻度分为10步、对于每个部分、我们都有10%的时间、为此、我使用按钮(LaunchPad 上的 P1.3按钮)。  

-增大10%、保持按下按钮、峰化很快就会开始降低! 如果按下一次、打开或关闭!

有人有一个与我共享的代码示例?

此致、

Alex

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

    尊敬的 Alex:

    您可以在此处找到各种软件示例、这些示例可以让您很好地了解如何实现您要尝试的操作:

    software-dl.ti.com/.../index_FDS.html

    BR、
    Leo

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

    你好,Leo,感谢你的答复!

    我在软件示例中找不到可以使用的部分代码。 我的算法不是示例、我认为需要对每个按钮事件进行计数。 例如、下面的代码没有必要的智能  
    要察觉 到需要增加/减少(上升或下降10%)的轻微压力或直接打开/关闭的强压力(保持打开) :

    while (1)
    {
    if (((P1IN &(BT_ADJ & P1IFG))!= BT_ADJ){//侦听 P1.3上的按钮按压操作。
    
    if (P1IFG = 1){_delay_cycles (100);}
    
    TA0CCR1 = TA0CCR1 + 250;//使时间计数器递增(PWM 周期)
    
    
    如果(TA0CCR1 > 1024){TA0CCR1 = 0;}
    P1IFG = 0;
    } 

    你懂我了吗?

    BR、

    Alex

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

    尊敬的 Alex:

    您不会使用二进制开关获得压力信息。 但是、您可以测量按下按钮的时间。  在这种情况下、您可以设置计时器并在该计时器的中断服务例程中检查 GPIO 的状态。  例如、如果您将计时器设置为每50毫秒(每秒20次)生成一次中断、则可以在每次检测到按钮被按下时递增计数器。 (您可以在检测到按钮被按下后启动计数器。)  

    BR、
    Leo

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

    您好、Leo、

    感谢你的帮助!

    我很难编写此代码。 您是否有示例代码或其中的一部分、以便我可以开始!

    此致、

    Alex

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

    你好,Leo,在你的建议下,我在这个周末做了一些测试。 有人指出、我需要找到另一个 MSP430微控制器。 我将计时器 A (通道0和1)用于 PWM、但我无法将同一计时器 A 用于按钮开关、原因是我们具有不同的时基、并且需要在计时器 A 上实施中断溢出(通过 TAIE) (如果是按钮开关)。

    在我认为需要找到一个具有两个计时器(计时器 A 和计时器 B)的 uC。 大家是否认为我的分析是正确的?

    BR、

    Alex

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

    尊敬的 Alex:

    您可能也能够在软件中实现某些功能。   是否使用计时器环路计数器 将取决于  您的功耗和精度要求。  您可以在以下位置找到更多代码示例供浏览: https://dev.ti.com/

    有关 G2 (和计时器)的更多特定示例、请查看以下内容:


    http://dev.ti.com/tirex/explore/node?node=ALFfIDtjUH-HwRytz.WJPQ__IOGqZri__LATEST

    BR、
    Leo

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

    G2553有两个独立的定时器(A 型):TA0和 TA1。 除非您需要 B 型计时器中的功能(我怀疑您不需要)、否则您应该能够使用 TA1进行按钮计时。

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

    ´ll、大家好、非常感谢、我决定通过 CC2530芯片组来实现它。 这块芯片的知识越丰富、就越有动力!

    非常感谢我的帮助!

    BR、

    Alex