MSP430主系统时钟以及430的低功耗设置
如何将系统时钟设置到外部高频晶体振荡器,430的MCLK默认的是DCO的,如何安全的从DCO切换到外部晶体振荡器,这是一个很重要的步骤,因为经过此步骤,可以极大地提高430的处理能力,DCO在内部,可以为cpu提供强劲稳定的时钟
#include <msp430x14x.h> void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD; volatile unsigned int i;
P5DIR |=BIT4;//设置P5.4为输出
P5SEL |=BIT4;//设置片内主系统时钟的输出 //由这段代码设置如何将DCO切换到高频晶体振荡器
BCSCTL1 &=~XT2OFF;//~0x80
do
{
IFG1 &=~OFIFG;//OFIFG为1表示外部晶体振荡器失效
for(i = 0xff;i>;i--);//IFG1是Interrupt Flag 1
}
while((IFG1 & OFIFG));//表示振荡器已经起振
BCSCTL2 |= SELM_2;//#define SELM_2 (0x80) /* MCLK Source Select 2: XT2CLK/LFXTCLK */ while(); }
低功耗模式的设置:
msp430内部有4种低功耗模式,在进入低功耗模式的时候,cpu停止,一般是由外部事件的响应才能唤醒cpu

由于IAR软件比较给力,所以进入低功耗模式的常用格式
比如:
进入低功耗模式2:LPM2;
退出低功耗模式2:LPM2_EXIT;
开启外部中断:_EINT():
关闭外部中断:_DINIT();
430外部中断的模式
#include <msp430x14x.h> main( void )
{ BCSCTL1 |=DIVA_2;//(0x20) /* ACLK Divider 2: /4 */
WDTCTL = WDT_ADLY_1000;//直接将看门狗定时器变成定时器,定时时间是1000毫秒
IE1 =WDTIE;//打开定时器中断 P2DIR |= BIT3; while()
{
unsigned int i;
_BIS_SR(LPM3_bits +GIE);//进入低功耗模式3,这种时候,cpu停止工作,同时打开总的中断 //_BIS_SR是一个本增函数,
//_BIS_SR()是一个本增函数,通过本函数可以对寄存器进行直接的操作
//这句话等价于_EINT();
// LPM3; P2OUT &=~BIT3;//相当于把第五位输出0
for(i = ;i>;i--);//延时
P2OUT |= BIT3;//p3.5输出1
} } #pragma vector =WDT_VECTOR
__interrupt void watchdag_timer(void)
{
//__BIC_SR_IRQ(LPM3_bits);//从中断中,将低功耗模式退出,将cpu从睡眠模式唤醒
LPM3_EXIT;//退出低功耗模式
}
版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3404759.html
MSP430主系统时钟以及430的低功耗设置的更多相关文章
- STM32的系统时钟设置SystemClock_Config()探究
一.首先了解几个硬件名词: stm32有多种时钟源,为HSE.HSI.LSE.LSI.PLL,对于L系统的,还有一个专门的MSI 1.HSE是高速外部时钟,一般8M的晶振,精度比较高,比较稳定. 2. ...
- S5PV210初始化系统时钟
S5PV210初始化系统时钟 S5PV210时钟体系S5PV210中包含3大类时钟domain,分别是主系统时钟domain (简称MSYS,下面将使用简称来进行相关讲解).显示相关的时钟domain ...
- Huawei设备配置系统时钟
系统时钟是设备上的系统时间戳.由于地域的不同,用户可以根据当地规定设置系统时钟.用户必须正确设置系统时钟以确保其与其他设备保持同步.华为设备出厂时默认采用了协调世界时(UTC),但是没有配置时区所有在 ...
- 单片机成长之路(51基础篇) - 023 N76e003 系统时钟切换到外部时钟
N76e003切换到外部时钟的资料很少(因为N76e003的片子是不支持无源晶振的,有源晶振的成本又很高,所以网上很少有对N76e003的介绍).有图有真相: 代码如下: main.c #includ ...
- STM32学习笔记(六) SysTick系统时钟滴答实验(stm32中断入门)
系统时钟滴答实验很不难,我就在面简单说下,但其中涉及到了STM32最复杂也是以后用途最广的外设-NVIC,如果说RCC是实时性所必须考虑的部分,那么NVIC就是stm32功能性实现的基础,NVIC的难 ...
- STM32F4_RCC系统时钟配置及描述
Ⅰ.概述 对于系统时钟应该都知道它的作用,就是驱动整个芯片工作的心脏,如果没有了它,就等于人没有了心跳. 对于使用开发板学习的朋友来说,RCC系统时钟这一块知识估计没怎么去配置过,原因在于开发板提供的 ...
- 使用HSE配置系统时钟并用MCO输出监测系统时钟
使用模板,在User下新建文件夹RCC 新建bsp_rccclkconfig.h和bsp_rccclkconfig.c 工程和魔术棒添加 对照着上节的RCC源文件编写: void HSE_SetSys ...
- STM32入门系列-STM32时钟系统,自定义系统时钟
在时钟树的讲解中我们知道,通过修改PLLMUL中的倍系数值(2-16)可以改变系统的时钟频率.在库函数中也有对时钟倍频因子配置的函数,如下: void RCC_PLLConfig(uint32_t R ...
- windows 系统时钟
偶然发现了一个函数用以查询操作系统的时钟间隔: BOOL WINAPI GetSystemTimeAdjustment( _Out_ PDWORD lpTimeAdjustment, _Out_ PD ...
随机推荐
- sql之left join、right join、inner join的区别(转)
感谢:http://www.cnblogs.com/pcjim/articles/799302.html ----------------------------------------------- ...
- dragsort拖动排序
引入文件jQuery.jquery.dragsort-0.5.2.min.js html文件: css文件: ul { margin:0px; padding:0px; margin-left:20p ...
- [转载]vs2012中使用Spring.NET报错:Spring.Context.Support.ContextRegistry 的类型初始值设定项引发异常
学习使用Spring.NET中的时候,写了一个Demo,在运行时报了一个错误:Spring.Context.Support.ContextRegistry 的类型初始值设定项引发异常. 重新整理思绪, ...
- CF 369 B. Valera and Contest
http://codeforces.com/contest/369/problem/B 题意 :n, k, l, r, sall, sk,n代表的是n个人,这n个人的总分是sall,每个人的得分大于 ...
- C#一个简单下载程序实例(可用于更新)
运行时的界面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Dat ...
- spring事物的传播行为
1.spring事物的传播行为,主要是用来解决业务层拥有事物的方法,相互调用的问题. 2.声明事物, 在代码执行前,开启事务.代码执行完,提交事务 3.spring并没有提供事务具体的处理,而只是调用 ...
- C++遍历目录,并把目录里超过7天的文件删除(跨平台windows&linux)
C++遍历目录,并把目录里超过7天的文件删除,适用于项目里删除过期的日志,或者视频文件. 在windows和linux下测试通过. windows测试结果: linux测试结果: 源码: #inclu ...
- PHP-CGI, FastCGI, PHP-FPM的关系和区别
Web server(apache, nginx) 接受到一个php请求后要解析php文件, 怎么解析呢, web server是C语言写的, 所以需要一个协议, 一个php解释器, 也就是CGI. ...
- 常用JVM配置参数
常用JVM配置参数 Trace跟踪参数 堆的分配参数 栈的分配参数 Trace跟踪参数 1.打开GC的日志,如果在程序的运行过程中,系统发生了GC,就会打印相关的信息. -verbose:gc -XX ...
- 188. Best Time to Buy and Sell Stock IV
题目: 链接: 题解: 测试: Reference: