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.

[参考译文] WEBENCH®︎工具/MSP430F2274:为eZ430-RF2500T的MSP430增加延时

Guru**** 2589280 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/633173/webench-tools-msp430f2274-adding-time-delay-to-msp430-for-ez430-rf2500t

部件号:MSP430F2274

工具/软件:WEBENCHRegistered设计工具

您好,

我最近购买 了eZ430-RF2500T 无线感应设备。 在设置此设备时花费了大量精力 (就像我在Windows 8上遇到USB 3问题,所以不得不选择一台带有USB 2端口且运行Windows 7的旧笔记本电脑,以防其他人试图让开发板正常工作),我让设备正常工作。 现在我尝试增加检测操作之间的时间,基于预加载代码的默认值是温度读数之间的1秒(示例代码可在名为 slac139g的文件夹中找到)。  

我看到有人使用函数"__delay_cycles():",但是我知道这不会使MSP进入睡眠模式。 我做了一些研究,发现正确的方法是使用计时器,例如TimerA。 这是我遇到问题的地方,因为我无法找到正确的值,我需要更改该值以增加计时器值。 我找到了一个参数"TACCR0",我已更改,但是我从IAR工作台收到一条警告消息,显示"Warning[Pe069]:integer conversion contruncation con}(警告[Pe069]:整数转换导致截断)"。 我输入了值'18万',根据代码中的注释,它相当于15秒的计时器(注释显示~1秒= 1.2万)。 这表示MSP不能有值长达15秒的TimerA,或者此警告消息只是工作台问题? TimerA是否是用于在 温度读数之间创建所需延迟的正确计时器? 我已将'main.c'中的代码作为文本文件附加。 如能就此事提供任何帮助,我们将不胜感激。  

e2e.ti.com/.../Sensor_5F00_Demo_5F00_AP_5F00_as_5F00_Data_5F00_Hub.txt

谢谢!

戴夫。  

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

    TACR0是16位整数,因此其最大可能值为6.5535万。 MSP确实无法在整个15秒内进入休眠状态,而是必须在TimerA ISR中定期唤醒并增加计数。 如果计数达到某个数字,则它只能退出LPM,否则它将返回休眠状态。 此方法可用作温度读数之间的有效延迟。

    此致,
    Ryan