打印

MSP430 为什么MCLK/10

[复制链接]
3049|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直接从引脚送出来进行观察

使用特权

评论回复
5
h0610001210|  楼主 | 2012-6-1 14:08 | 只看该作者
这有可能跟编译器有关,如果用IAR会不会就不是MCLK/10?
现在用的是CCSV4.2。汇编后的指令的确是10条

使用特权

评论回复
6
tianyu01| | 2012-6-1 14:21 | 只看该作者
不是很清楚呀 看看专家如何解答的

使用特权

评论回复
7
peter_zheng| | 2012-6-2 21:27 | 只看该作者
你这个是p1.1的输出语句,看while(1)下面的汇编指令应该有10条,所以frequecny=mclk/10

使用特权

评论回复
8
h0610001210|  楼主 | 2012-6-3 11:15 | 只看该作者
是不是不同的编译器编译出来的指令数量会不同,如果是IAR或是gcc?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

133

帖子

2

粉丝