MSP430 为什么MCLK/10

[复制链接]
3786|7
 楼主| h0610001210 发表于 2012-5-30 18:39 | 显示全部楼层 |阅读模式
为什么这里的P1.1时钟输出是MCLK/10?经过实际示波器测得也是10个MCLK。
#include  <msp430g2231.h>

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer

  BCSCTL1 = CALBC1_1MHZ;                    // Set range
  DCOCTL = CALDCO_1MHZ;
  //BCSCTL3 |= XCAP1;
  P1DIR |= 0x13;                            // P1.0,1 and P1.4 outputs
  P1SEL |= 0x11;                            // P1.0,4 ACLK, SMCLK output

  while(1)
  {
    P1OUT |= 0x02;   
                    // P1.1 = 1

    P1OUT &= ~0x02;                         // P1.1 = 0
    /**/
  }
}
gaochy1126 发表于 2012-5-31 09:14 | 显示全部楼层
DOC可以用来校准时钟信号的,低功耗的时钟更加精确!
TI_MCU 发表于 2012-6-1 10:05 | 显示全部楼层
楼主可以看看汇编指令,楼主这样GPIO翻转加上循环的跳转的C程序编译成汇编后指令数差不多会有10条,代码的速度和指令条数是直接相关的
TI_MCU 发表于 2012-6-1 10:07 | 显示全部楼层
楼主如果只是想要MCLK同频率的时钟,可以试着将CLK直接从引脚送出来进行观察
 楼主| h0610001210 发表于 2012-6-1 14:08 | 显示全部楼层
这有可能跟编译器有关,如果用IAR会不会就不是MCLK/10?
现在用的是CCSV4.2。汇编后的指令的确是10条
tianyu01 发表于 2012-6-1 14:21 | 显示全部楼层
不是很清楚呀 看看专家如何解答的
peter_zheng 发表于 2012-6-2 21:27 | 显示全部楼层
你这个是p1.1的输出语句,看while(1)下面的汇编指令应该有10条,所以frequecny=mclk/10
 楼主| h0610001210 发表于 2012-6-3 11:15 | 显示全部楼层
是不是不同的编译器编译出来的指令数量会不同,如果是IAR或是gcc?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

133

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部