打印

谁有关于定时器捕获模块的程序

[复制链接]
1516|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shimx|  楼主 | 2018-7-6 17:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
liliang9554| | 2018-7-6 17:57 | 只看该作者
我的程序,只有在片上内部,用接地和接电源来产生捕捉信号,才能成功。

使用特权

评论回复
板凳
shimx|  楼主 | 2018-7-6 18:01 | 只看该作者
哦?然后呢

使用特权

评论回复
地板
zhenykun| | 2018-7-6 18:03 | 只看该作者

引脚外面的信号却捕捉不到

使用特权

评论回复
5
shimx|  楼主 | 2018-7-6 18:06 | 只看该作者
明白啦,哈哈,多谢大家啊

使用特权

评论回复
6
10299823| | 2018-7-6 22:50 | 只看该作者
MSP430F169定时器捕获模式

使用特权

评论回复
7
lihuami| | 2018-7-6 22:50 | 只看该作者
TI有源代码的

使用特权

评论回复
8
xiaoyaozt| | 2018-7-6 22:50 | 只看该作者
msp430很多呢

使用特权

评论回复
9
uptown| | 2018-7-6 22:51 | 只看该作者
https://wenku.baidu.com/view/c8d6141459eef8c75fbfb3b8.html

使用特权

评论回复
10
cehuafan| | 2018-7-6 22:51 | 只看该作者
MSP430的定时器中有比较捕获

使用特权

评论回复
11
usysm| | 2018-7-6 22:51 | 只看该作者
MSP430F149单片机定时器B捕获例程

使用特权

评论回复
12
typeof| | 2018-7-6 22:52 | 只看该作者
某个事件发生的时候,capture当时的计数值,比如测量方波周期的时候会去捕获两次上升沿分别对应的计数值。

使用特权

评论回复
13
yujielun| | 2018-7-6 22:52 | 只看该作者
具体需要什么芯片的

使用特权

评论回复
14
htmlme| | 2018-7-6 22:53 | 只看该作者
如果比较相等就产生CCR0 中断,进入Timer A0 中断服务程序进行中断处理。

使用特权

评论回复
15
pklong| | 2018-7-6 22:53 | 只看该作者
https://wenku.baidu.com/view/144f484149649b6649d74759.html

使用特权

评论回复
16
usysm| | 2018-7-6 22:53 | 只看该作者
https://wenku.baidu.com/view/63caa6754afe04a1b171de25.html

使用特权

评论回复
17
10299823| | 2018-7-6 22:53 | 只看该作者
当TACCTLx中的CAP为1时进入捕获模式
      MSP430F169支持三种捕获模式由TACCTLx中的CM_x控制
      x=0:不捕获  x=1:上升沿捕获 x=2:下降沿捕获  x=3:上升下降沿都捕获
     有四种捕获来源由TACCLx中的CCIS_x控制
      x=0:CCIxA x=1:CCIxB x=2:GND x=3 :VCC
     可以与定时时钟同步捕获也可以异步捕获由TACCTLx中的SCS控制
     0:异步捕获  1:同步捕获
     TACCTLx中的SCCI和CCI可以查询输入的电平高低,区别是CCI是捕获输入的瞬时值,而SCCI为经时钟同步后锁存的捕获值.
     捕获模式有两个中断源TACCR0和TAIV,其中TACCR0是一个单元中断,TAIV为多元中断,均为可屏蔽中断,由SR中的GIE控制
      当TACCTLx中的CCIE置位时捕获中断使能,中断标志位为TACCTLx中的CCIFG。
      TACCTL0控制的TACCR0中断向量为TIMERA0_VECTOR,中断服务之后CCIFG由硬件自动清零。
      TACCTL1,TACCR2控制下的TACCR1,TACCR2和Timer overflow 中断公用TAIV中断,中断为TIMERA1_VECTOR,中断同时发生时较高优先级的中断标志自动清零,然后进入低优先级中断。
中断优先级TACCR1最高,Timer overflow最低。中断标志分别为CCIFG CCIFG TAIFG。
#include
unsigned int cap=0;
void main()
{
  WDTCTL=WDTPW+WDTHOLD;
P1SEL=0X02;
P2DIR=0X01;
BCSCTL1=DIVA_3;
CCTL0=CM_1+SCS+CCIS_0+CAP+CCIE;

TACTL=TASSEL_2+MC_2;
_BIS_SR(LPM0_bits+GIE);
}
#pragma vector=TIMEA0_VECTOR     __interrupt void TimerA0(void)
{cap=TACCR0;}

使用特权

评论回复
18
cehuafan| | 2018-7-6 22:53 | 只看该作者
比较模式:
    这是定时器的默认模式,当在比较模式下的时候,与捕获模式相关的硬件停止工作,如果这个时候开启定时器中断,然后设置定时器终值(将终值写入TACCRx),开启定时器,当TAR的值增到TACCRx的时候,中断标志位CCIFGx置一,同时产生中断。若中断允许未开启则只将中断标志位CCIFGx置一。
例子:比较模式就像51单片机一样,要能够软件设置定时间隔来产生中断处理一些事情,如键盘扫描,也可以结合信号输出产生时序脉冲发生器,PWM信号发生器。如:不断装载TACCRx,启动定时器,TAR和TACCRx比较产生中断处理。
捕获模式:
    利用外部信号的上升沿、下降沿或上升下降沿触发来测量外部或内部事件,也可以由软件停止。捕获源可以由CCISx选择CCIxA,CCIxB,GND,VCC。完成捕获后相应的捕获标志位CCIFGx置一
捕获模式的应用:
    利用捕获源的来触发捕获TAR的值,并将每次捕获的值都保存到TACCRx中,可以随时读取TACCRx的值,TACCRx是个16位的寄存器,捕获模式用于事件的精确定位。如测量时间、频率、速度等
例子:利用两次捕获的值来测量脉冲的宽度。或捕获选择任意沿,CCISx=”11“(输入选择VCC),这样即当VCC与GND发生切换时产生捕获条件
结合利用:异步通讯
同时应用比较模式和捕获模式来实现UART异步通信。即利用定时器的比较模式来模拟通讯时序的波特率来发送数据,同时采用捕获模式来接收数据,并及时转换比较模式来选定调整通信的接受波特率,达到几首一个字节的目的

使用特权

评论回复
19
lihuami| | 2018-7-6 22:53 | 只看该作者
还是去官网找找相关的资料吧。

使用特权

评论回复
20
uptown| | 2018-7-6 22:53 | 只看该作者
利用MSP430定时器A的捕捉能测量脉冲信号的脉宽

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

857

主题

10661

帖子

5

粉丝