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/MSP430G2231-EP:CCS/MSP430G2231

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/657457/ccs-msp430g2231-ep-ccs-msp430g2231

部件号:MSP430G2231-EP
主题中讨论的其他部件:MSP430G2231

工具/软件:Code Composer Studio

大家好,

我是一名德国学生,我在Montay的launchpad MSP430上有一个项目。本来应该编写一个程序,使 Launchpad上的两个LED都发光,但我不知道应该如何工作,我也不知道会是怎样工作的  非常感谢有人能帮我。

任务列表中,我们必须使LED更加光亮,等待一段时间,即0.1 第二次,以便使用for Loope。

-汇编程序中寻址模式的循环Hull是怎样的(包括异常终止条件)?

- 此命令在寻址模式上需要循环多少个指令?

如果有人能帮助我,我会非常感谢。我使大家都度过了美好的一天,并对他们的语言感到遗憾。

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

    您好,

    幸运的是,TI提供了可供您使用的示例代码,实现了简单的引脚切换。 TI资源管理器上 有一个文件夹,其中包含MSP430G2231的代码示例。 有两个不同的文件夹,一个用于C代码中的寄存器级别代码示例,另一个用于汇编级别代码示例。

    我假设,由于您希望使用“For”循环来实现延迟,那么在C代码示例域中工作将是您的最佳选择。 有一个叫做“msp430g2xx1_1.c”的代码示例,它在“DO while”延迟循环定义的时间段内切换WFP 1.0。

    在您的情况下,您也可以将WFP 1.6 设置为输出,因为WFP 1.0 和WFP 1.6 连接到MSP430G2xx Launchpad上的LED。

    在for (;;)(a.k.a. while (1)循环)内,您可以设置一个LED,延迟,关闭该LED,设置另一个LED,延迟,关闭该LED,设置另一个LED等。

    "执行时"回路可替换为"用于"回路,如下图所示,以便轻松查看延迟指令。 更改延迟持续时间可以通过增加或减少"i"倒计时的值来完成。 可以使用示波器或逻辑分析仪准确确定延迟,以便了解如何调整"I"值。

    删除:

    I = 5万;//延迟
    (一);
    同时(i !=0);

    替换为:

    对于(i=5万;i>0;i--);           //延迟

    希望这有助于您顺利开始项目,并使您能够成功完成项目。

    此致,

    Matt Calvo

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

    您好Math:

    非常感谢您的帮助,并对延迟回复表示抱歉。您的回答对我很有帮助,但我还有另一个问题。代码如何 (for (i=5万;i>0;i--);           //延迟) 延迟? 如果我必须让每个LED闪烁0.1秒,代码应该是怎样的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该语句要求CPU从5万倒计时到0,而不执行任何其他操作。 计数本身提供延迟。 如果您将此值更改为从1万倒计时到0,则会延迟1/5时间。

    示例中的注释未说明预计从5万计算需要多长时间。 我的第一个猜测是1/2秒(1Hz闪烁),但最好自己尝试。

    如果每个周期的指示灯确实保持亮起1/2 (0.5)秒,则除以5万/5获得1/10 (0.1)秒。 如果没有,请向上/向下调整5万,直到得到1/2秒(用眼睛判断1/2秒比判断1/10秒容易得多)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    正如Bruce所建议的,要获得100毫秒的延迟时间,您必须降低倒计时值以获得更小的延迟。 当前值为5万 时,延迟约为500ms (我测量的值正好为467ms)。 将该值除以5,直至达到1万 ,然后测量针脚以调整该值,从而获得100毫秒的完美延迟。

    此致,

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

    如果我们的支持帮助您解决了问题,请继续并单击"已解决",以便我关闭此线程并将其记录。

    谢谢,此致,

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

    Matt,您好!

    非常感谢您的帮助,您的支持对我有很大帮助。感谢每个人。祝您度过美好的一天。

    谢谢,此致,

    Matt Calvo。