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.

[参考译文] MSP430F413:Msp430F413:每次频率有时不同时都是如此

Guru**** 2512965 points
Other Parts Discussed in Thread: MSP430F413

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/687498/msp430f413-msp430f413-every-time-the-frequency-is-sometimes-different

器件型号:MSP430F413

大家好、Msp430F413在32kHz 频率下工作、使用看门狗计时器工作时间、找到程序调试、每次频率不同时、有两种情况、10倍是2倍、频率约为2/1。 不知道原因是什么? 设置32kHz 是错误的、还是其他原因? 计划的一部分请参见以下内容、谢谢!

PS: 在 MSP430x41x 的 fet410_WDT_02样本下修改程序。

该程序在 MSP430x41x 的 fet410_WDT_02样本下进行修改。

void main (void)
{
WDTCTL = WDTPW + WDTHOLD;//
FLL_CTL0 |= XCAP18PF;//为32k xtal
DelayMS (1000)设置负载电容;//100ms
P2OUT = 0xff;// LED1-led8
P2DIR = 0xff;//
P6OUT = 0xd9;//
P5out = 0xd/、0xd23;//、P5out = 0xd/、P= 0xd/、P= 0xd/、P= 0xd/、P= 0xd/、P= 0xd/

其他 IO 端口初始
化 Play (90);
WDTCTL = WDT_ADLY_250;// WDT 250ms、ACLK、间隔定时器
IE1 |= WDTIE;//启用 WDT 中断
__bis_SR_register (LPM3_bits + GIE); //输入带中断的 LPM3

}

//看门狗计时器中断服务例程
#if defined (__TI_Compiler_version__)|| defined (__IAR_systems_ICC__)
#pragma vector=WDT_vector
__interrupt void watchdog_timer (void)
#elif defined (__GDT__)
void __attribute_(nut}(n_timer)(nutor_vector

)(n_interrupt!)#interrupt!
#endif
{
unsigned int j;
FLL_CTL0 |= XCAP18PF;//为32k xtal
DelayUS (50)设置负载电容;
JS++;
if (JS=120)//
{
P1OUT&=~0x20;//
}
if (JS=121)
{
P1WDT|=0x20;//
JS=WDT=0



;// WDT=01250/~= 0/ JS = 0x20/ JS;// WDT=01250/ JS = 0/ JS = 0/ JS;// WDT_0

,= 01250/ JS = 0+

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

    您好!

    您能否指定哪些时钟频率看起来不同? 您是如何看待这种情况的、在调试期间还是有额外的代码来测量时间间隔、例如使用计时器来捕获时间间隔?

    我建议您查看 《MSP430 MCU 的软件编码技术 应用报告》、以获得 有关 MSP430 MCU 上建议的代码流的一些指导。

    我注意到您在中断服务例程内执行一些寄存器设置、我建议您开始查看这一点、看看您是否可以调整代码- 您将在应用报告中找到相关指导。 另请查看您的 WDTCTL 设置。 目前、您的中断服务例程会显示重复的寄存器设置。 就我看到您不更改在 main 中完成的问候语而言、这些问候语不是必需的、可能只会产生开销。

    请告诉我其中是否有任何一项对您有所帮助、并让我知道您是如何测试和验证不同的频率的。

    此致、

    Britta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    > FLL_CTL0 |= XCAP18PF;//为32k xtal 设置负载电容

    我的第一个猜测是您的晶体在启动时遇到问题。 您是否尝试过不同的 XCAP 值?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我更改了等效晶体振荡器、它是相同的现象

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

    您好!

    蜂鸣器信号程序输出(BeePDeed() ; ),语音不相同,示波器检测频率输出不相同。

    我的程序在 MSP430x41x 的 fet410_WDT_02样本, fet410_WDT_02样本下进行修改、以查看以下内容。 我的程序框架与此示例。Fet410_WDT_02示例相同、 我能否直接修改应用程序?

         我的程序框架说明:使用为间隔定时器模式配置的 WDT, 每250ms 检测一次 IO 端口 、基于32kHz ACLK WDT 时钟源。     ACLK = LFXT1 = 32768Hz、MCLK = SMCLK =默认 DCO = 32 x ACLK = 1048576Hz。

    下周、我们需要向客户提供产品样片、不知道如何处理、并帮助修改程序框架。

     谢谢!

    PS:1、 fet410_WDT_02示例 演示- WDT、请参阅以下,  

       2、 我的程序框架看到第一个 PS 程序代码。

    //
    // MSP-FET430P410演示- WDT、Toggle P5.1、间隔溢出 ISR、32kHz ACLK
    //
    //说明:使用为间隔定时器模式配置的 WDT 切换 P5.1。
    //根据32kHz ACLK WDT 时钟源、中断每250ms 切换一次 LED。
    // ACLK = LFXT1 = 32768Hz、MCLK = SMCLK =默认 DCO = 32 x ACLK = 1048576Hz
    ////////* ACLK 需要 XIN 和 XOUT 之间的一个外部手表晶振*//
    //
    // MSP430F413
    //------------
    ///|\| XIN|-
    //||| 32kHz
    //-|RST XOUT|-
    //||
    //| P5.1|--> LED
    //
    // M. Buccini
    // Texas Instruments Inc.
    // 2005年2月
    //使用 CCE 版本:3.2.0和 IAR Embedded Workbench 版本:3.21A 构建
    //
    #include

    int main (空)

    WDTCTL = WDT_ADLY_250;// WDT 250ms、ACLK、间隔定时器
    FLL_CTL0 |= XCAP14PF;//配置负载电容
    IE1 |= WDTIE;//启用 WDT 中断
    P5DIR |= 0x02;//将 P5.1设置为输出方向

    _bis_SR_register (LPM3_bits + GIE);//输入 LPM3、带中断

    //看门狗定时器中断服务例程
    #if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
    #pragma vector=WDT_Vector
    _interrupt void watchdog_timer (void)
    #Elif defined (_GNU_)
    void __attribute__((interrupt (WDT_vector))) Watchdog_timer (void)
    其他
    错误编译器不受支持!
    #endif

    P5OUT ^= 0x02;//使用异或切换 P5.1

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

    您好!

    您是否尝试运行示例代码而不首先进行任何更改? 如果是、您是否能够验证您的晶体是否正常工作并启动? 在进行任何调整之前、您是否已看到相同的频率问题?

    当然、您可以使用示例代码、然后根据应用的需要对其进行调整。

    有关晶体振荡 器的一些指导、请查看《MSP430 32kHz 晶体振荡器应用报告》。

    请告诉我这是否有帮助。

    此致、

    Britta

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

    由于我没有听到您的反馈、我认为您已经能够解决您的问题。
    我将继续、很快关闭此主题。 如果需要、您只需回复我的帖子即可重新打开它。

    请标记助您继续应用的助推器、以便其他人可以遵循相同的指导。

    此致、
    Britta