历史上的今天
今天是:2025年03月08日(星期六)
2020年03月08日 | 初学MSP430F5529定时器
2020-03-08 来源:eefocus
之前一直感觉定时器有点难,但其实后来发现更多的是中断那块没太懂,中断以后会说的。先简单看下定时器吧。
一、基本
1.在user’s guide上看到的5529其实有3种定时器,ABD,这三种好像确实有些区别的,但是目前就只看A感觉就够了。
2.Timer_A是具有四种操作模式的16位定时器,7个比较器/捕获器
3.能够输出PWM波,具有8中PWM波形,但是要注意的是,这种输出只能在外围功能模块里使用,即之前说过的SEL。比如P1.2能够输出Timer_A0的比较器/捕获器1的波形,而在其他管脚上,就没有办法直接输出这种PWM波形。所以如果这个管脚被占用的话,或是不想用这个来整,其实用中断做PWM波也挺好用的。
4.能实现串行通信(其实我不太懂这块说的什么意思,也好像没用到,之后见到再补上吧)
5.捕获模式和比较模式的区别?
捕获模式是捕获上升沿和下降沿触发中断,而比较器是将一个值储存到CCR寄存器里面,将计数器的值和CCR相比较从触发中断。
二、寄存器
话不多说,先看寄存器吧
1、TAxCTL
(1)TASSEL:时钟选择,可以选择TAxCLK,ACLK,SMCLK,INCLK
(2)ID:分频系数
(3)MC:模式选择
一共有四种模式,UP模式:一直加到CCR0,再到0;
Continuous莫斯:一直加到FFFF,再到0
UP/DOWN模式,加到CCR0,再减到0;
Stop模式?
(4)TACLR:清零,需要注意的是TACLR会将TAxR寄存器,分频系数都清零
(5)TAIE:中断使能
(6)TAIFG:中断标志位
2、TAxR
计数寄存器
3、TAxCCTLn
CAP:0比较模式1捕获模式
OUTMOD:
有多种输出模式,可以输出多种类型的PWM波,当然这个是从对应的管脚中输出。 这个可以user’s guide里面看。
CCIE:中断使能
COV:比较溢出?不是很懂。
CCIFG:中断标志位
其他的感觉母亲用不太到。多数会在PUC的时候设置好
4、TAxCCRn
CCR寄存器。以u模式为例,就是当计数到这个值的时候,会触发中断。CCR0优先级最高。有单独的一个中断向量。CCR1以后的都共用一个中断向量。同时在UP模式中,计数到CCR0会 从0开始。
5、TAxIV
中断源标志寄存器。可以认为CCR1和CCR6的中断标志存在这个里面,在写中断函数的时候,这几个CCR需要用TAXIV判断是哪一个中断了。
找了一个例程
#pragma vector=TIMER1_A1_VECTOR
__interrupt void TIMER1_A1_ISR(void)
{
switch(__even_in_range(TA1IV,14))
{
case 0: break; // No interrupt
case 2: break; // CCR1 not used
case 4: break; // CCR2 not used
case 6: break; // reserved
case 8: break; // reserved
case 10: break; // reserved
case 12: break; // reserved
case 14: P1OUT ^= 0x01; // overflow
break;
default: break;
}
}
这一段就是判断TA1IV中的值。然后在相应的值里面做操作。如果不用这个的话是没有办法做出来中断的!
6、TAxEX0
emmm好像没有用到过
三、基本步骤
1、设置时钟
2、TAxCTL选择模式、时钟等等
3、TAxCCRn设置CCR
4、设置中断
5、中断函数
史海拾趣
|
现在大陆市场中,由于监控发展较晚!红外半球摄像机红外灯被大陆的经销商和工程商吵的是如何如何的好,像什么白天一样!晚上没有任何光源,都能很清晰的分晰这个人是谁,这些话虽然让产品卖出去了,可是搞伤了我们技术人员和工程人员,验收那个难啊 ...… 查看全部问答> |
|
编译源码时出现了附件中的错误,由以上可知,是缺少luuid,经查找是缺少e2fsprogs-1.39.tar.gz这个包,已经下载了这个文件,接下来该怎么做??? [ 本帖最后由 jxb01033016 于 2009-9-4 11:47 编辑 ]… 查看全部问答> |
|
求梅兰日兰UPS中文使用说明书 请问哪位师傅手里有梅兰日兰UPS中文使用说明书啊,帮忙给传一下,或者给个网址也行啊,UPS是4.2KW、6KVA,我先谢谢啦!… 查看全部问答> |
|
nand flash里bootloader的结构如下: 0:nboot 1:tocblock1 file 2:eboot 有人这样安装吗? 有人改写过nboot吗? 我的板子是2410的,我从网上找到了2410 BSP里面关于nboot的代码 读了下nboot里面的代码,硬件主要是初始化串口,感觉这些是通用的, ...… 查看全部问答> |
|
看了GOOOGLEMAN的文章 http://www.cnblogs.com/wogoyixikexie/archive/2009/05/06/1450503.html 在platform->setting->environment 中设置IMGSDBUS2 = 1 在common.bib中也修改过 根本内容我也修改了BSP.C:\\WINCE500\\PLATFORM\\smdk2440\\DRIV ...… 查看全部问答> |
|
哪为江湖大虾有研究过播放器Mplayer的原代码啊,特别是它Demux是如何处理的,最好能讲讲Mplayer的主处理函数,和详细的Demux过程?小弟不胜感激!… 查看全部问答> |




