[MCU] MSP430F5438时钟系统

[复制链接]
749|2
 楼主| peripheral 发表于 2019-5-20 20:36 | 显示全部楼层 |阅读模式
1、      概述
  Unified clock system(ucs)统一时钟系统。MSP430F5438有5个时钟源:XT1,XT2,REFCLO,VLCLO,DCO.
外部LF(XT1一般为32.768K),可以接时钟晶振,也可接4M-32M的外部时钟源。XT1可作为锁频环的参考时钟源。
HF(XT2一般为8M),晶振连接引脚为P5.2,P5.3,使用此晶振时要打开这两个引脚的第二功能。XT2可作为锁频环的参考时钟源。
从时钟系统模块可得到三种时钟信号:MCLK,SMCLK,ACLK。P11.0-P11.2第二功能对于时钟输出。

 楼主| peripheral 发表于 2019-5-20 20:36 | 显示全部楼层
2、      使用方法概述
1、设置接晶振的引脚为第二功能。
2、设置寄存器打开寄存器,配置匹配电容
3、检测晶振起振
4、配置分频系数,配置驱动电流。
 楼主| peripheral 发表于 2019-5-20 20:36 | 显示全部楼层
3、实例
  1. void MCU_Init(void)
  2. {
  3.   WDTCTL = WDTPW+WDTHOLD;                   // Stop WDT
  4.   P11DIR |= 0x07;                           // ACLK, MCLK, SMCLK set out to pins
  5.   P11SEL |= 0x07;                           // P11.0,1,2 for debugging purposes.
  6.   __bis_SR_register(SCG0);                  // Disable the FLL control loop  +OSCOFF
  7.   
  8.   // Initialize LFXT1 ,XT2
  9.   P5SEL |= 0x0C;                            // Port select XT2
  10.   P7SEL |= 0x03;                            // Port select XT1

  11.   UCSCTL6 &= ~(XT1OFF + XT2OFF);            // Set XT1 & XT2 On
  12.   UCSCTL6 |= XCAP_3;                        // Internal load cap
  13.    
  14.   // Loop until XT1,XT2 & DCO fault flag is cleared
  15.   do
  16.   {
  17.     UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
  18.                                             // Clear XT2,XT1,DCO fault flags
  19.     SFRIFG1 &= ~OFIFG;                      // Clear fault flags
  20.   }while (SFRIFG1&OFIFG);                   // Test oscillator fault flag
  21.   
  22.   UCSCTL6 &= ~XT2DRIVE1;                    // Decrease XT2 Drive according to
  23.                                             // expected frequency
  24.   UCSCTL5 |= DIVS_1;                        // SMCLK/2=8Mhz
  25.   UCSCTL4 |= SELS_5 + SELM_5;               // SMCLK=MCLK=XT2=16Mhz
  26. }

您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

438

帖子

2

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