msp430f5529例程怎么概念优先级

  看门狗定时器(Watchdog Timer(WDT_A))实际上是一个特殊的定时器,即可以用来作为看门狗使用,也可以用作定时器。
  所谓的看门狗功能,是指可以监控程序是否由于某些干扰或者错误而跑飞。其原理就是发生故障的时间满足规定的定时时间后,产生一个非屏蔽中断,使系统复位。这样当在调试程序或预计程序在某个地方可能瞬时发生错误时(如外部电路干扰),选用设置看门狗定时中断可以避免程序跑飞。
  当然,它也可以用作一般的定时功能。
  不过实际上,由于看门狗定时器(作看门狗使用时)需要很严密的设置(否则程序容易经常重启),所以很多人都不会使用这项功能。所以,程序一开始就加上一句话:WDTCTL=WDTPW+WDTHOLD来关闭看门狗。
2.1&&WDT_A的简介
&&&&&&&&&&&&&&特点:
& & & & & & &&①有8种可选定时时间;
   &②看门狗模式;
   &③定时器模式;
   &④看门狗控制寄存器存在密码保护;
   &⑤时钟源可选,且具有时钟源意外保护;
   &⑥可以被终止来节省能源;
   &⑦无论是用作看门狗还是定时器,其间隔时间都无法随意设定,只能从8种设定中选择,当然可以通过更改时钟频率来间接更改时间;
&  注意默认设置:程序启动,看门狗即启动;监控周期为32ms/32.768KHZ(也就是说当看门狗的时钟频率为32.768KHZ时,每过32ms,如果不软件清空,程序就会重启);所用的时钟源为SMCLK(实际频率不是32.768KHZ,后面会提到)。
2.2&&WDT_A的寄存器及操作
&&&&&&&&&&&注意:所有的寄存器都存字操作和字节操作模式。例如对WDTCTL寄存器直接赋值是字操作,你也可以通过WDTCTL_L(低字节寄存器)、WDTCTL_H来进行字节操作赋值。
&&&&&&&&&&&该类寄存器只能赋值不要进行&|=、&=&等逻辑操作。
&&&&&&&&&&&2.2.1看门狗控制寄存器WDTCTL(Watchdog Timer Control)
&&&&&&&&&&该寄存器是一个16位带有密码保护的读写寄存器。所谓的密码保护,是为了防止该寄存器被不小心篡改。那么是如何实现密码保护呢?事实上,该寄存器的高字节用来存放口令,低字节才是控制数据。写口令为05Ah,读口令为069h,任何和口令不一样的高字节操作都会导致系统复位。
该寄存器的位功能定义如下:(支持位操作)&
&&&&&&&&&&&&&&WDTPW:Bits15-8,WDT Password,写为05Ah,读为069h。
&&&&&&&&&&&&&&WDTHOLD:Bit7,WDT HOLD,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&0:打开看门狗计时器;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1:关闭
&&&&&&&&&&&&&&WDTSSEL:Bits6-5,WDT Clock Source Select时钟源选择&
   & &WDTTMSEL:Bit4,工作模式选择
        &0:看门狗模式;
& & & & & & & & & & & & & & & & & & &1:定时器模式;
   WDTCNTCL:Bit3,计时器清零
        0:无效;
& & & & & & & & & & & & & & & & & & 1:清空计数器,即WDTCNT=0x0000h
   & &WDTIS:&&Bits2-0,WDT Interval Select,间隔时间选择。用来选择计数的周期,共有8种时间可以选择。&
&&&&&&&&&&&&&&&备注:括号前数字为计数器的值
2.2.2&看门狗计数值寄存器WDTCNT(Watchdog Timer Counter)
&&&&&&这是一个32Bit的加计数器,但是不能通过软件来直接对其进行赋值等操作,只能通过WDTCTL中的WDTIS来选择时间。或者你可以通过WDTSSEL选择不同的时钟源,来间接改变时间。
&&&2.2.3&&看门狗中断&位控制
&&&&&&&&&&&&&&&&&&&WDT利用SFRS总寄存器中的两位来控制中断。
&&&&&&&&&&&&&&&&&&&WDT中断标志位:WDTIFG,位于SFRIFG1.0
&&&&&&&&&&&&&&&&&&&WDT&中断使能位:WDTIE,位于SFRIE1.0
&&&&&&&&&&&&&&&&&&&看门狗模式:如果不及时对WDTCNT清零或者对WDT初始化,WDTIFG就会置位,然后程序就会重启。
&&&&&&&&&&&&&&&&&&&计时器模式:必须开总中断GIE和看门狗中断WDTIE。此外,当执行完中断服务程序后,标志位WDTIFG会自动清零。
2.3常用操作
&&&&&&&&&&&&&&&&&&&/*关闭看门狗*/
&&&&&&&&&&&&&&&&&&&WDTCTL=WDTPW+WDTHOLD;
&&&&&&&&&&&&&&&&&&&/*喂狗,即对有效状态的看门狗进行清零操作*/
& & & & & & & & & &/*&时间计满还不喂狗就会导致程序重启*/
&&&&&&&&&&&&&&&&&&&/*WDTIS2即WDTIS=100,此时时间间隔设为1S,假定频率为32.768KHZ*/
&&&&&&&&&&&&&&&&&&&WDTCTL = WDTPW + WDTCNTCL+WDTSSEL0+WDTIS2;
&&&&&&&&&&&&&&&&&&&/*将看门狗设置为计数器模式,计数8192约250ms,假定频率为32.768KHZ*/
&&&&&&&&&&&&&&&&&&&/* WDTIS2+WDTIS0即101*/
&&&&&&&&&&&&&&&&&&&WDTCTL=WDTPW+WDTCNTCL+WDTTMSEL+WDTIS2+WDTIS0
总结例程:
/*首先将WDT设为定时器功能。而中断服务子程序则是把WDT改为看门狗功能。这样就通过中断控制的周期性的重启程序,实现了LED闪烁*/
/*注意,这里默认的时钟源不是32KHZ,而是内部的DCO-SMCLK(之后会讲到)1.045MHZ。所以前面WDTIS定义的时间大约都要缩小倍*/
#include &msp430.h&
void&main(void)
&&&/*清零-设定为计数器-时间设定为010模式,即256S/32=8S*/
&&&WDTCTL=WDTPW+WDTCNTCL+WDTTMSEL+WDTIS1;
&&&__enable_interrupt();&  //开总中断
&&&SFRIE1|=WDTIE;&&&&&&&&  //开看门狗定时器中断
&&&P1DIR=0
&&&int&i,j;
&&&P1OUT=0
&&&&&&for(i=0;i&30000;i++)
&&&&&&&&&for(j=0;j&50;j++);&&&&//延时约8S
&&&&&&P1OUT=0x00;
&&&while(1);
/*中断服务程序*/
#pragma&vector=WDT_VECTOR
__interrupt&void&WatchTimer(void)
&&&WDTCTL=WDTPW+WDTCNTCL+WDTIS1;&&//看门狗模式,时间设定约为8S
文章摘录于http://blog.lehu.//A449023.html
阅读(...) 评论()21ic官方微信-->
后使用快捷导航没有帐号?
请完成以下验证码
查看: 8455|回复: 45
msp430f5529数据手册中文版
&&已结帖(0)
主题帖子积分
高级技术员, 积分 873, 距离下一级还需 127 积分
高级技术员, 积分 873, 距离下一级还需 127 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级技术员, 积分 873, 距离下一级还需 127 积分
高级技术员, 积分 873, 距离下一级还需 127 积分
msp430f5529数据手册中文版
本帖子中包含更多资源
才可以下载或查看,没有帐号?
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
主题帖子积分
专家等级:结帖率:96%打赏:140.96受赏:354.88
主题帖子积分
谢谢楼主分享
昵称: 业务QQ:
欢迎进入& && &21ic TI技术交流1群:(已满),&&21ic TI技术交流2群:
主题帖子积分
主题帖子积分
专家等级:结帖率:96%打赏:140.96受赏:354.88
主题帖子积分
不过是英文的
昵称: 业务QQ:
欢迎进入& && &21ic TI技术交流1群:(已满),&&21ic TI技术交流2群:
主题帖子积分
高级技术员, 积分 559, 距离下一级还需 441 积分
高级技术员, 积分 559, 距离下一级还需 441 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级技术员, 积分 559, 距离下一级还需 441 积分
高级技术员, 积分 559, 距离下一级还需 441 积分
明明不是中文的
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级工程师, 积分 4545, 距离下一级还需 455 积分
中级工程师, 积分 4545, 距离下一级还需 455 积分
主题帖子积分
专家等级:结帖率:9%
主题帖子积分
中级工程师, 积分 4545, 距离下一级还需 455 积分
中级工程师, 积分 4545, 距离下一级还需 455 积分
下载看一下
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级工程师, 积分 4380, 距离下一级还需 620 积分
中级工程师, 积分 4380, 距离下一级还需 620 积分
主题帖子积分
专家等级:结帖率:13%
主题帖子积分
中级工程师, 积分 4380, 距离下一级还需 620 积分
中级工程师, 积分 4380, 距离下一级还需 620 积分
中文资料要顶顶啊
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级工程师, 积分 4177, 距离下一级还需 823 积分
中级工程师, 积分 4177, 距离下一级还需 823 积分
主题帖子积分
专家等级:结帖率:3%
主题帖子积分
中级工程师, 积分 4177, 距离下一级还需 823 积分
中级工程师, 积分 4177, 距离下一级还需 823 积分
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级工程师, 积分 4209, 距离下一级还需 791 积分
中级工程师, 积分 4209, 距离下一级还需 791 积分
主题帖子积分
专家等级:结帖率:2%
主题帖子积分
中级工程师, 积分 4209, 距离下一级还需 791 积分
中级工程师, 积分 4209, 距离下一级还需 791 积分
中文资料 很难得啊
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级工程师, 积分 3617, 距离下一级还需 1383 积分
中级工程师, 积分 3617, 距离下一级还需 1383 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级工程师, 积分 3617, 距离下一级还需 1383 积分
中级工程师, 积分 3617, 距离下一级还需 1383 积分
中文的必须支持
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级工程师, 积分 3450, 距离下一级还需 1550 积分
中级工程师, 积分 3450, 距离下一级还需 1550 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级工程师, 积分 3450, 距离下一级还需 1550 积分
中级工程师, 积分 3450, 距离下一级还需 1550 积分
收了 楼主辛苦
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
高级技术员, 积分 524, 距离下一级还需 476 积分
高级技术员, 积分 524, 距离下一级还需 476 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 524, 距离下一级还需 476 积分
高级技术员, 积分 524, 距离下一级还需 476 积分
收藏了,谢谢楼主.
主题帖子积分
实习生, 积分 12, 距离下一级还需 38 积分
实习生, 积分 12, 距离下一级还需 38 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 12, 距离下一级还需 38 积分
实习生, 积分 12, 距离下一级还需 38 积分
到底是英文的还是中文的哇
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
初级工程师, 积分 2110, 距离下一级还需 890 积分
初级工程师, 积分 2110, 距离下一级还需 890 积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:20.00
主题帖子积分
初级工程师, 积分 2110, 距离下一级还需 890 积分
初级工程师, 积分 2110, 距离下一级还需 890 积分
是中文嗎& &樓豬 野心很大啊& &把英文都搞成中文
天道酬勤,思者常新;博观约取,厚积薄发;心如止水,气贯长虹;淡泊明志,宁静致远。
主题帖子积分
实习生, 积分 30, 距离下一级还需 20 积分
实习生, 积分 30, 距离下一级还需 20 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 30, 距离下一级还需 20 积分
实习生, 积分 30, 距离下一级还需 20 积分
英文的,**
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
中文的& &坑货!
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
坑爹啊&&英文的
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
初级技术员, 积分 55, 距离下一级还需 45 积分
初级技术员, 积分 55, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:50%
主题帖子积分
初级技术员, 积分 55, 距离下一级还需 45 积分
初级技术员, 积分 55, 距离下一级还需 45 积分
....好坑....都不是中文的
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
助理工程师, 积分 1895, 距离下一级还需 105 积分
助理工程师, 积分 1895, 距离下一级还需 105 积分
主题帖子积分
专家等级:结帖率:80%打赏:0.00受赏:6.00
主题帖子积分
助理工程师, 积分 1895, 距离下一级还需 105 积分
助理工程师, 积分 1895, 距离下一级还需 105 积分
谢谢分享。
Will there be that one day, you left me.
主题帖子积分
中级技术员, 积分 203, 距离下一级还需 97 积分
中级技术员, 积分 203, 距离下一级还需 97 积分
主题帖子积分
专家等级:结帖率:33%
主题帖子积分
中级技术员, 积分 203, 距离下一级还需 97 积分
中级技术员, 积分 203, 距离下一级还需 97 积分
太不厚道了,你怎么能这样忽悠大家?
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
坑B.。。。。。。。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
技术高手奖章
人才类勋章
时间类勋章
甘甜之泉水
发帖类勋章
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
技术新星奖章
人才类勋章
技术奇才奖章
人才类勋章
时间类勋章
涓涓之细流
发帖类勋章
时间类勋章
湍急之河流
发帖类勋章
精华达人奖章
等级类勋章
欢快之小溪
发帖类勋章
社区建设奖章
等级类勋章msp430f5529 lpm0 中断内可以做什么 _ 菏泽汽车网
msp430f5529 lpm0 中断内可以做什么
pragma vector=ADC_VECTOR__interrupt void ADC12ISR (void){
_EINT()?中断多了就卡了;
_BIS_SR(LPM0_bits + GIE);上面这两句最好在main里面
估计程序停这里不走了SHT0_8小了会不精确SHT0_12也可以ad没必要中断吧
ta0中__bis_SR_register(LPM0_bits+GIE);在中断中未作EXIT_LPM0;
&#47。希望帮到你; Stop WDT
P1DIR |= 0x01;
/// Enter LPM0;
// Timer A0 interrupt service routine#pragma vector=TIMER1_A0_VECTOR__interrupt void TIMER1_A0_ISR(void){
P1OUT ^= 0x01;/ SMCLK,P一个定时器的中断给你看看;/void main(void){
WDTCTL = WDTPW + WDTHOLD;//msp430x54xA;
/ CCR0 interrupt enabled
TA1CCR0 = 50000, contmode, enable interrupts
__no_operation(), clear TAR
__bis_SR_register(LPM0_bits + GIE);
&#47。你可以到TI上下载代码程序.0 output
TA1CCTL0 = CCIE;
TA1CTL = TASSEL_2 + MC_2 + TACLR; P1。#include &
&#47.h&quot说起来很麻烦;
/ Toggle P1; For debugger}&#47.0
TA1CCR0 += 50000
销掉_BIS_SR(LPM0_bits + GIE); 加_EINT(); _EINT()在msp430x41x.h包含的in430.h里。
一个程序但是我怎么也跳不出interrupt,到底是什么问题? #include
程序很简单,应该没什么错误,看看参数是不是有问题。
#pragma vector=ADC_VECTOR __interrupt void ADC12ISR (void) { _EINT(); _BIS_SR(LPM0_bits + GIE); 上面这两句最好在main里面 估计程序停这里不走了 SHT0_8小了会不精确SHT0_12也可以 ad没必要中断吧?中断多了就卡了;
你平时理解的CPU执行代码完全是“顺序”执行的,即按照一定的顺序(包括跳转)一条接着一条地取指、执行。 加入中断之后,情况发生了变化:CPU在顺序执行你的main函数及其调用的子函数的过程中,随时有可能被打断,去执行别的函数。这里包含几层含...
#include "msp430x14x.h" //初始化ADC12 P6SEL |= 0x01; // 使能ADC通道,默认的VREF为VCC ADC12CTL0 = ADC12ON+SHT0_5+MSC; // 打开ADC,设置采样时间 /*选择内部参考电压源*/ // ADC12CTL0|= REFON+REF2_5V; // ADC12MCTL0|=SREF_1; ADC12CTL...
说起来很麻烦,P一个定时器的中断给你看看。你可以到TI上下载代码程序。希望帮到你。 #include "msp430x54xA.h" void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT P1DIR |= 0x01; // P1.0 output TA1CCTL0 = CCIE; // CCR0 interrupt e...
你说的对的,这个是有溢出中断,但你的初始化程序要稍微调整下: TBCTL = TBSSEL_2 + MC_2+TBIE;; 打开溢出中断,默认值是0; 然后再写段中断程序,例如: #pragma vector=TIMERB1_VECTOR __interrupt void Timer_B_1(void) { switch( TBIV ) {...
ta0中__bis_SR_register(LPM0_bits+GIE);在中断中未作EXIT_LPM0;
__bis_SR_register(LPM0_bits + GIE); //置位SR寄存器,LPM0_bits是低功耗模式中的一种,CPU休息,具体可以查手册;GIE是打开全局中断使能 __no_operation(); //进行一个时钟周期的无操作,一般调试可以把断点打在这 这个主要是用在低功耗上,cp...
返回主页:
本文网址:/view-.htmlmsp430f5529时钟配置程序 - MSP430(TM)16 位超低功耗 MCU - 德州仪器在线技术支持社区
msp430f5529时钟配置程序
发表于2年前
<input type="hidden" id="hGroupID" value="37"
例如要输出2MHZ的方波,怎么设置&/p>&div style=&clear:&>&/div>" />
msp430f5529时钟配置程序
此问题尚无答案
All Replies
例如要输出2MHZ的方波,怎么设置
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
榜眼26435分
& &可以考虑两个方法,一个是通过MCLK或是SMCLK之类的时钟输出管脚来输出方波,一种是配置PWM波来实现。
你可以参考我们的430ware里面的UCS例程。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
怎么设置PWM方波频率为200KHZ
You have posted to a forum that requires a moderator to approve posts before they are publicly available.

我要回帖

更多关于 msp430f5529 uart 的文章

 

随机推荐