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:Launchpad 默认时钟

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1168346/msp430g2553-launchpad-default-clock

器件型号:MSP430G2553

这个话题可能已经被人打败了、但我一直在为 LaunchPad 时钟速度而挣扎。

文档显示、根据我的代码和使用范围、它默认为1MHz

它看起来不是真的。:

;------------------------------------------------------------------
;与 TI Code Composer Studio 一起使用的 MSP430汇编器代码模板
;            LaunchPad 时钟应为:
;                 •MCLK: 1MHz 时的 DCO
;                 •SMCLK:1MHz 时的 DCO
;                 •ACLK: 32.768kHz 时的 LFXT1
;------------------------------------------------------------------
      nolist
      cdecls C、list、"msp430.h"  ;包含器件头文件
      .list
;------------------------------------------------------------------
      .text                      ;汇编到程序存储器中。
      全局复位             ;必须重置设置入口点
      .retain                    ;覆盖 ELF 条件链接
                                           ;并保留当前部分。
      .retainrefs                ;并保留具有的任何段
                                           ;对当前段的引用。
;----------------------------------------------------------------

复位:   MOV.w  #_STACK_END、SP        ;初始化 stackpointer。 重置是开始...... 加载程序必须具有此名称
      MOV.w  #WDTPW|WDTHOLD、&WDTCTL ;停止看门狗计时器(看门狗密码= 0x5A + WDTHOLD 位15

;-------- 初始化端口---
InitP1:
      BIS.b   #BIT0|BIT6、&P1DIR   ;将端口1中的位0和6设置为输出
      BIC.b   #BIT0、&P1OUT      ;关闭绿色 LED
      BIC.b   #BIT6、&P1OUT      ;关闭红色 LED
      NOP
      BIS.w   #GIE、SR             ;启用中断-最后要做的事情
      NOP

;---- 绿色 LED 端口上的示波器探针、显示96.8Khz 不是1MHz
TstClk:
      BIS.b   #BIT0、&P1OUT      ;打开绿色 LED
      BIC.b   #BIT0、&P1OUT      ;关闭绿色 LED
      JMP      TstClk

;------------------------------------------------------
;           堆栈指针定义            *
;------------------------------------------------------
       .global __stack_end
       .sect  .stack

;----------------------------------------------
;             中断矢量          *
;----------------------------------------------
       .sect  ".reset"               ;MSP430复位矢量
       短路 复位                ;必须调用“重置”设置入口点

       .end

我在绿色 LED 端口上放置了一个示波器、并观察到实际速度为96.8Khz、甚至不接近1MHz

我已经修改了代码以选择16MHz 速度、它仅显示1.26Mhz

有人能不能对此有所了解?

谢谢

射线

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

    复位时、MCLK/SMCLK (DCO 时钟)以模糊的类似于1MHz 的频率运行;我已经看到范围为0.9-1.1MHz。 这可以使用 CALDCO 常数来提高精度。

    您可以通过设置 P1DIR:BIT4和 P1SEL:BIT4 [参考数据表(SLAS735J)表18]将 SMCLK 门控为 P1.4 (适用于您的示波器)。 复位时、SMCLK==MCLK。

    BIS 和 BIC 各采用4-5个 MCLK、因此您的环路的除数约为/10。

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

    感谢您的快速回复 Bruce、我现在可以在 P1.4上看到正确的时钟我完全忘记了位设置/清除指令的指令时序(更不用说 JMP)我正在习惯430系统。