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.

[参考译文] MSP430F5234:如何选择正确的计时器:timer_a

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1621721/msp430f5234-how-to-choose-correct-timer-timer_a

器件型号: MSP430F5234

您好:

我尝试使用为 TI 的以太网供电 IC 编写的 MSP430 参考代码来打印测试设置的电压/电流日志、我需要每隔 5-10 毫秒打印一次。

main.c 文件中使用的当前计时器是 TIMER0_A1、我可以使打印日志达到的最低时间间隔为~50ms。 我通过减少代码中的计数器来实现这一点。 我可以使用哪种计时器来进一步减少计数器、以便提高打印记录速度?  

image.png

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

    您如何准确地打印? 如果您通过 UART 登录、运行速度会有多快?

    在 9600bps(约 1 字节/毫秒)下、您可以在 50ms 内记录 50 个字节。

    您可能会尝试加快 UART 速度或缩短消息。

    您在哪里找到了参考代码? 【如果我能找到它,我会看到是否有任何东西。】

    [编辑:固定 goof(秒->毫秒)]

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

    这行代码:

    意味着计时器中断每 10/200 或 50ms 发生一次。 如果您想要更快的速度、则必须更改计时器配置。

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

    我以 9600 的波特率通过 UART 打印。 我尝试通过注释掉我不需要的内容来缩短我的邮件(这是大多数邮件中的内容)、但这并没有太大的帮助。 下面是用于下载参考的链接 代码: SLVC771 代码示例或演示|德州仪器 TI.com

    如何更改计时器配置? 它与计时器向量还是计数器的值有关?

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

    您的目标在这里并不是很清楚。 如果您希望调试输出更频繁、只需降低“计数器“限制;设置它=100 将每 5 秒设置一次 PrintPower=1。  

    但要回答您的问题:

    在 sys_init.c:Setup_Timer () 中、TA0 设置为 1MHz 在向上计数模式 (MC=1) 下在 SMCLK/8(明显=SMCLK/8)处打勾。 TA0CCR0 设置为 50000 并持续 50ms。 如果您希望它更快地循环(递增计数器)、您可以将 TA0CCR0 设置为较低的值、例如=25000 将以 25ms 进行循环。 如果您这样做,但希望将调试日志保持在 10 秒,则需要将“计数器“限制增加到 (200*2)。

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

    您好 Bruce、  

    是的、我意识到我需要在今天早些时候更改这种配置。 感谢您的意见、我得以使其正常工作。  

    此致、

    Anagha