查看: 5566|回复: 8

[已解决] KL25 LPTMR模块计数(已解决)

[复制链接]

该用户从未签到

1

主题

12

帖子

0

注册会员

Rank: 2

积分
138
最后登录
2022-5-9
发表于 2014-7-9 21:18:49 | 显示全部楼层 |阅读模式
 KL25低功耗脉冲计数程序,初始化如下,但是就是没有计数
 
 //SIM_SOPT1 |= SIM_SOPT1_OSC32KSEL(0) ;
    SIM_SCGC5 |= SIM_SCGC5_LPTMR_MASK;                        //使能LPT模块时钟
 
    //设置输入管脚
    if(altn == LPT0_ALT1)
    {
        port_init(PTA19, ALT6 );            //在PTA19上使用 ALT6
    }
    else if(altn == LPT0_ALT2)
    {
        port_init(PTC5, ALT4 );             //在PTC5上使用 ALT4
    }
    else                                    //不可能发生事件
    {
        ASSERT((altn == LPT0_ALT1 ) || (altn == LPT0_ALT2 ));   //设置管脚有误?
    }
 
    // 清状态寄存器
    LPTMR0_CSR = 0x00;                                          //先关了LPT,这样才能设置时钟分频,清空计数值等
 
    // 设置累加计数值
    LPTMR0_CMR  =   LPTMR_CMR_COMPARE(count);                   //设置比较值
 
    // 设置计数值
    LPTMR0_PSR  =   (0
                     |LPTMR_PSR_PCS(0x02)
                     |LPTMR_PSR_PBYP_MASK
                     |LPTMR_PSR_PRESCALE(0x01)); 
    // 管脚设置、使能中断
    
    LPTMR0_CSR  =  (0
                    | LPTMR_CSR_TPS(altn)       // 选择输入管脚 选择
                    | LPTMR_CSR_TMS_MASK        // 选择脉冲计数 (注释了表示时间计数模式)
                    | ( cfg == LPT_Falling ?  LPTMR_CSR_TPP_MASK :   0  )  //脉冲计数器触发方式选择:0为高电平有效,上升沿加1
                    | LPTMR_CSR_TEN_MASK        //使能LPT(注释了表示禁用)
                    | LPTMR_CSR_TIE_MASK        //中断使能
                    //| LPTMR_CSR_TFC_MASK      //0:计数值等于比较值就复位;1:溢出复位(注释表示0)
                   );
我知道答案 目前已有5人回答
回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-7-10 09:17:11 | 显示全部楼层

RE:KL25 LPTMR模块计数

你好,楼主!
你是要使用LPTMR实现脉冲计数的功能,请问你的代码是自己编写的还是参考什么例程编写的呢?
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

12

帖子

0

注册会员

Rank: 2

积分
138
最后登录
2022-5-9
 楼主| 发表于 2014-7-10 18:17:16 | 显示全部楼层

回复:KL25 LPTMR模块计数

参考官方代码,写的
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-7-11 09:25:11 | 显示全部楼层

RE:KL25 LPTMR模块计数

从你的代码来看,没看出有什么错误,建议你重新检查一下你的代码。如果你有CW软件的话,建议使用PE生成这种小的功能函数,会很快就完成的。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

802

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1763
最后登录
1970-1-1
发表于 2014-7-18 16:56:32 | 显示全部楼层

RE:KL25 LPTMR模块计数

既然是参考官方的代码, 那看看是不是抄错了呢
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

354

帖子

0

高级会员

Rank: 4

积分
693
最后登录
1970-1-1
发表于 2014-7-22 10:05:08 | 显示全部楼层

回复:KL25 LPTMR模块计数

我参考版主的帖子:从零开始玩转FRDM-KL25Z
把LPTMR的定时模式改成计数模式,是可以实现让counter增加的呢。
对于初学者还是用Processor Expert工具自动生成模块代码吧。
有声有色!FSL中文论坛支持小组制作-官方视频大全 里面有很多介绍Processor Expert工具使用的。
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

273

帖子

0

高级会员

Rank: 4

积分
718
最后登录
1970-1-1
发表于 2014-7-22 15:23:00 | 显示全部楼层

RE:KL25 LPTMR模块计数

PE是图形化界面编程的,对于MCU内容寄存器不是很熟悉的初学者来说,确实很是方便。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

12

帖子

0

注册会员

Rank: 2

积分
138
最后登录
2022-5-9
 楼主| 发表于 2014-9-8 18:18:14 | 显示全部楼层

回复:KL25 LPTMR模块计数(已解决)

还是得看技术手册,一点一点来。呵呵
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-9-9 11:18:41 | 显示全部楼层

    回复:KL25 LPTMR模块计数(已解决)

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 19:35 , Processed in 0.105363 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表