历史上的今天
今天是:2025年04月19日(星期六)
2020年04月19日 | 【MSP430】定时中断
2020-04-19 来源:eefocus
中断的开关
中断这个,我试了好像不太好用,定时中断还是会启动~
// disable global interrupt关中断
__bic_SR_register(GIE);
// enable global interrupt开中断
__bis_SR_register(GIE);
_DINT();//关总中断 (可用于保护不希望受到中断打断的程序)
_()NOP; //在保护程序之前与关中断之间最少有一步操作
_EINT(); //开总中断
定时中断
TA0R = 0;
TA0CCR0 = 32768; // 1s = 32768 * (1 /32768)
TA0CTL = TASSEL__ACLK | MC__UP | TACLR | TAIE; // ACLK, count mode, clear TAR, enable interrupt
关于TA0CTL 以定时器A举例
时钟CLK
#define TASSEL__TACLK (0*0x100u) /* Timer A clock source select: 0 - TACLK 外部输入*/
#define TASSEL__ACLK (1*0x100u) /* Timer A clock source select: 1 - ACLK 32.768KHz*/
#define TASSEL__SMCLK (2*0x100u) /* Timer A clock source select: 2 - SMCLK 16MHz*/
#define TASSEL__INCLK (3*0x100u) /* Timer A clock source select: 3 - INCLK 外部输入*/
模式MC
#define MC__STOP (0*0x10u) /* Timer A mode control: 0 - Stop 停止暂停定时器*/
#define MC__UP (1*0x10u) /* Timer A mode control: 1 - Up to CCR0 向上计数模式*/
#define MC__CONTINUOUS (2*0x10u) /* Timer A mode control: 2 - Continuous up 连续模式*/
#define MC__UPDOWN (3*0x10u) /* Timer A mode control: 3 - Up/Down 向上或向下模式*/
TA0CCR0
设定的计数阈值
如果MC选择MC__UP,则就是说TA0R开始定时累计,当TA0R==TA0CCR0时,产生定时中断
TACLR
清空TAxR,这个是用来计数用的
#define TACLR (0x0004) /* Timer A counter clear 清空TAxR*/
TAIE
使能中断
#define TAIE (0x0002) /* Timer A counter interrupt enable 使能中断*/
#define TAIFG (0x0001) /* Timer A counter interrupt flag 中断产生标志位*/
史海拾趣
|
现场总线是一种开放式、 数字化、多点通信的控制系统局域网络, 是当今自动化领域中最具有应用前景的技术之一。CAN总线是现场总线中的应用热点,CAN总线支持分布式控制和适时控制的串行通信网络。 由于CAN总线具有通信速率高、开放性好、报文短 ...… 查看全部问答> |
|
DIY导航避障车小组今日下午展开第一次例会,在本次例会中大家集中讨论了无线的选择,避障的选择等等部分,并对小车进行了前景规划,以谷歌的自动驾驶车为终极目标,大家积极发言例会持续了一个半小时,并表示未来会采用各种新技术。下次再来把细节 ...… 查看全部问答> |
|
一个额定量程为10吨的称重传感器,激励电压为10V,灵敏度为1.0+-0.005mV/V,零点平衡+-1%F.S,综合误差为+-0.02%F.S 那么在货物重量为5吨时,误差应该是:5TX0.02%=0.001t=1千克吧。。 那么按网上一些知识的理解,当货物为10吨的时候,在10V的激 ...… 查看全部问答> |
|
这个有的网友调通过,我调了不通,有看官问了,你笔记发了不少,网络程序也编成功并跑通了。怎么SD卡例程还调不通。真地假地? 我SD卡调通过但不是例程。我现在说的是开发板上的TI原装例 ...… 查看全部问答> |




