[求助] 为什么我的LM3S5P31的输入定时器捕获抓取不了,各位能否帮我看看?

lbk32   2011-11-15 13:11 楼主
定时器0B的初始化代码如下:
            SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);   // 使能Timer模块  
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);          // 使能CCP1所在的GPIO端口                     
    GPIOPinTypeTimer(GPIO_PORTB_BASE, GPIO_PIN_6);
       
        // 控制Timer0B捕获
        TimerConfigure(TIMER0_BASE, (TIMER_CFG_B_CAP_TIME));
        // Timer0B捕捉双边沿
        TimerControlEvent(TIMER0_BASE, TIMER_B, TIMER_EVENT_BOTH_EDGES);
        // 装载定时器初始值
        TimerLoadSet(TIMER0_BASE, TIMER_B, 0xFFFF);
        // 使能Timer0事件捕获中断
        TimerIntEnable(TIMER0_BASE, TIMER_CAPB_EVENT);

        // 使能Timer中断
        IntEnable(INT_TIMER0B);                                 
        // 使能处理器中断
        IntMasterEnable();
        // 使能Timer0B
        TimerEnable(TIMER0_BASE, TIMER_B);
不知道什么地方没有配置好,帮帮忙,给点意见!

回复评论 (4)

2推荐 tekkon 

回复 沙发 lbk32 的帖子

对了  我想起来了   定时器捕捉只能用16位的定时器

所以试一下 TimerConfigure(TIMER0_BASE,TIMER_CFG_16_BIT_PAIR | TIMER_CFG_B_CAP_TIME);  
或者
TimerConfigure(TIMER0_BASE,TIMER_CFG_16_BIT_PAIR | TIMER_CFG_B_PERIODIC |TIMER_CFG_B_CAP_TIME);
点赞  2011-11-15 23:15
木有人吗?我的定时器配置所用的API是最新的driverlib-3m,是不是和之前的有很大的区别?不喜欢类似的API函数啊,感觉不靠谱啊!
点赞  2011-11-15 13:15

回复 楼主 lbk32 的帖子

你是用16位还是32位的timer?  输入管脚有没有波形?  还有能不能进中断函数?
点赞  2011-11-15 23:05

回复 4楼 tekkon 的帖子

谢谢楼上哥们的支持,我的问题得到解决了。定时器捕获不到是因为我的配置代码里面缺少“GPIOPinConfigure(GPIO_PB6_CCP1)”这么一句配置语句。引以为戒啊,这样太浪费时间了,而且该语句在周立功所翻译的旧版本的驱动库里是没有的,我原先就是看那个手册的,得与时俱进啊。不管怎么样,谢谢楼上的支持,谢谢!
点赞  2011-11-15 23:34
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复