以下内容基于MSP430F169,适用于MSP430x1xx Family
时钟模块架构说明
MSP430有三个时钟源:
LFXT1CLK:外部时钟源1,可接低频32.768kHz或高频450kHz~8MHz的晶振。通过BCSCTL1的XTS位控制:接低频晶振时,该位清零;接高频晶振时,该位置一。实测证明,接100kHz的晶振工作也正常,XTS = 0;
XT2CLK:外部时钟源2,450kHz~8MHz。
DCOCLK:数控振荡器(Digitally-Controlled Oscillator)内部RC震荡时钟源。
内部时钟信号:
ACLK:辅助时钟。由LFXT1CLK分频(1,2,4,8)产生。该时钟可通过软件配置为某些独立模块(UART,TIMER等)的时钟。ACLK在低功耗LPM3模式下可用。
MCLK:CPU和系统主时钟。由LFXT1CLK,XT2CLK或者DCOCLK分频(1,2,4,8)而成。
SMCLK:副主时钟。由LFXT1CLK,XT2CLK或者DCOCLK分频(1,2,4,8)而成。该时钟可通过软件配置为某些独立模块(UART,TIMER等)的时钟。
时钟整体架构如下图所示
单片机上电以后,默认以DCOCLK(~800kHz,不同芯片可能有差异,具体见芯片数据手册)作为MCLK和SMCLK的时钟源,以LFXT1CLK(低频模式)作为ACLK的时钟源。在程序执行时,时钟配置可以随时修改。
低功耗模式
单片机在不同的工作模式下,可用的时钟信号也不同,如下表
关键字:MSP430系列 教程 时钟配置
引用地址:
MSP430系列教程(三) 时钟配置
推荐阅读最新更新时间:2024-11-09 10:19
stm32内部时钟有哪些时钟源 stm32使用内部时钟配置教程
stm32内部时钟有哪些时钟源 在STM32中,可以用内部时钟,也可以用外部时钟,在要求进度高的应用场合最好用外部晶体震荡器,内部时钟存在一定的精度误差。 内部时钟有2个时钟源可以选分别是HSI、LSI、(内部高速,内部低速,),高速时钟主要用于系统内核和总线上的外设时钟。低速时钟主要用于独立看门狗IWDG、实时时钟RTC。 1、HSI是高速内部时钟,RC振荡器,频率为8MHz,上电后默认的系统时时钟 SYSCLK = 8MHz,Flash编程时钟。 2、LSI是低速内部时钟,RC振荡器,频率为40kHz,可用于独立看门狗IWDG、实时时钟RTC。 使用时需要注意 注释掉这个SystemInit(); 时钟配置函数 //配
[单片机]
MSP430FR6989系列教程之串口通信
一、串口通信 通用异步收发器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种串行、异步、全双工的通信协议。 异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。不需要时钟线,两个设备上指定相同的传输速率,以及空闲位、起始位、校验位、结束位,也就是遵循相同的协议即可。 说的通俗点,就是收发双方约定好说话的频率,暗号,停顿和开始的标志,就像我们大家在说汉语交流的时候,你让一个河南人说着河南话去和一个说着粤语的广东人交流,显然是有些为难他们的,毕竟这两种语言具有着显著的地域特色,最后可能两人
[单片机]
通过STM32实现PWM呼吸灯的教程
一,知识理论基础 什么是呼吸灯: 顾名思义,就是一个灯。灯的亮度的变化,由亮变暗,从暗变亮,有一个渐变,规律的变化,像是人的呼吸,是灯的呼吸,所以叫呼吸灯。而要让灯可以达到这样的变化,我们要让stm32的IO口上输出一个可调的电平,这时我们就要用到PWM,那什么是PWM呢,我们继续往下看。 什么是定时器: 讲PWM我们要先认识stm32的定时器,PWM是定时器的功能之一。STM32F103有TIME1和TIME8高级定时器,TIME2TIME5通用定时器,还有TIME6和TIME7基本定时器。我们要使用的STM32F103C8T6只具有4个定时器,TIME1TIME4. 那么定时器有什么功能呢?定时、输出比较
[单片机]
STM32单片机外部晶振配置时钟设置
学习野火的固件库UART1串口案例时,用的是SIM9008模块应用板上的STM32103F103RB芯片,使用的外部晶振是12M。 串口读取的是乱码 默认的外部晶振是8M 由于STM32的库默认是外部晶振8M的情况下实现的,所以配置串口波特率的时候也是按8M,包括主频。 如果采用外部晶振8M或12M,配置时钟为72MHZ 。 1)在system32_stm32f10x.c文件中的void SetSysClockTo72(void)里这样改: 8M: RCC-》CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);//8*9=72 12M: RCC-》CFGR
[单片机]
stm32f107移植ucos的教程步骤
Step1:在UCOS官网下载源码,这里选择Micrium_uC-Eval-STM32F107_uCOS-II,版本是V2.92.07 Step2:使用STM32CubeMX快速配置1个LED闪烁的例程,板卡有4个LED,系统时钟配置为72MHz,Systick我们用作UCOS的心跳,另外开启一个定时器作为HAL库的时基。详细配置过程查看附件里面的文档;Step1:在UCOS官网下载源码,这里选择Micrium_uC-Eval-STM32F107_uCOS-II,版本是V2.92.07 Step3:生成IAR工程,在其根目录创建文件夹UCOSII,在里面再创建3个文件夹:CONFIG、CORE、PORT Step4:拷贝U
[单片机]
STM32操作系统系列使用C语言的教程
C语言,相对于汇编有更好的可读性,便于维护等优点。下面实验将使用C语言实现点亮LED灯。C语言与硬件是紧密连在一起的,结合芯片中的flash和sram,简单了解C语言。 步骤: FLASH,就是存放.bin文件的地方。SRAM,用于存放程序的堆栈,全局变量。 MEMORY,用于定义存储器范围。 AT rom,表示将对应的SECTION放置到rom中,即Flash中。 _data_start / _data_end,用于说明data段在flash中的位置,方便程序将data段从flash中复制到sram中。 _ram_data_start,表示data段将复制到sram中的什么位置。 ADDR(),表示获得SECTION
[单片机]
CANOpen系列教程06_ 结合代码理解CAN底层收发数据
1写在前面 该教程前面讲述了许多关于CAN协议的一些概念,可能许多初学者看的云里雾里,那么本文将结合代码让大家理解之前讲述的内容。 因为关注我的人大部分都在学习STM32,我将结合STM32F103、标准外设库例程来让大家理解之前讲述的一些概念。 本文主要讲述内容: 1.传输数据相关参数 2.位时序及传输波特率 为方便大家理解,我将在最后提供对应例程「CANOpen系列教程06_CAN底层收发例程」。当然,本文只讲述代码中部分内容,某些配置参数放在后面讲述。 2 传输数据相关参数 传输数据相关参数其实主要就是前面《CANOpen系列教程04》讲述的“帧类型及格式说明”那一章节内容,建议先看下那些概念内容。 CAN总线传输的内容主要
[单片机]