查看: 3404|回复: 14

[求助] 急求kl25的TPM模块将脉冲进行捕捉程序!!!

[复制链接]

该用户从未签到

10

主题

31

帖子

0

注册会员

Rank: 2

积分
115
最后登录
2015-12-1
发表于 2015-5-14 14:43:19 | 显示全部楼层 |阅读模式
目的:利用旋转编码器采集脉冲数来得到转数。

实现手段:利用kl25的TPM模块将脉冲进行捕捉计数。

疑问:同时进行ad转换,tpm的程序怎么设计使得ad和脉冲捕捉能同时进行,衷心感谢!


我知道答案 目前已有14人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-5-14 14:53:33 | 显示全部楼层
    楼主说的是同一个IO口,既要采集为脉冲,又要采集为AD吗?如果是单独的IO口,可以分开来操作,不影响的。但是不能同时进行转换,优先级高的先处理。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    31

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2015-12-1
     楼主| 发表于 2015-5-14 15:15:50 | 显示全部楼层
    安 发表于 2015-5-14 14:53
    楼主说的是同一个IO口,既要采集为脉冲,又要采集为AD吗?如果是单独的IO口,可以分开来操作,不影响的。但 ...

    单独的io口  分开操作  需要设置中断优先级 请问你能指导一下么  谢谢了 急用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-5-14 15:31:47 | 显示全部楼层
    看你哪个需求高了。需要高的优先级高于需求低的就可以了。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    31

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2015-12-1
     楼主| 发表于 2015-5-14 15:37:04 | 显示全部楼层
    安 发表于 2015-5-14 15:31
    看你哪个需求高了。需要高的优先级高于需求低的就可以了。

    先想着写一写tpm的程序
    void  SIM_Init(void)
    {
             SIM_SOPT2 |= SIM_SOPT2_TPMSRC(1);
             SIM_SOPT2 &= ~ SIM_SOPT2_PLLFLLSEL_MASK; //TPM时钟选择MCGFLLCLK  时钟
             SIM_SCGC6 |= SIM_SCGC6_TPM0_MASK;//使能
             SIM_SCGC5 |= (SIM_SCGC5_PORTA_MASK
                                                           | SIM_SCGC5_PORTB_MASK
                                                           | SIM_SCGC5_PORTC_MASK
                                                           | SIM_SCGC5_PORTD_MASK
                                                           | SIM_SCGC5_PORTE_MASK );
    }
    void  PORT_Init(void)
    {
             PORTE_PCR29=PORT_PCR_ISF_MASK|PORT_PCR_MUX(4);
             
    }
    void  TPM0_Init(void)
    {
             enable_irq(18);
             set_irq_priority(18,1);//?????????
             TPM0_CONF=TPM_CONF_CSOO_MASK|TPM_CONF_CSOT_MASK;//设置tpm0计数器溢出后,停止计数;检测到上升沿时计数
             TPM0_CNT = 0;
             TPM0_MOD = 65535;//MOD值
             TPM0_SC=TPM_SC_TOIE_MASK|TPM_SC_CMOD(1);//当TOF等于1时产生中断,LPTPM计数器在每一个LPTPM计数器时钟增量
             TPM0_C0SC |= TPM_CnSC_ELSB_MASK|TPM_CnSC_ELSA_MASK;//捕捉上升沿
             TPM0_C0V=0x00;
    这是我写的部分程序,请问往下该怎么写
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-5-14 15:46:40 | 显示全部楼层
    配置完TPM,然后要写中断处理函数,中断中要清除中断标志位,转速计算建议多采集几个周期,要不计算会有误差。
    计算周期时间,这个时候还需要一个时间基准,需要做一个高精度的定时器来做基准。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    31

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2015-12-1
     楼主| 发表于 2015-5-14 15:58:39 | 显示全部楼层
    安 发表于 2015-5-14 15:46
    配置完TPM,然后要写中断处理函数,中断中要清除中断标志位,转速计算建议多采集几个周期,要不计算会有误 ...

    中断处理函数你那有资料吗?能否借我一看。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-5-14 16:12:07 | 显示全部楼层
    没有。这个看以参考例程的。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    31

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2015-12-1
     楼主| 发表于 2015-5-14 16:21:33 | 显示全部楼层
    安 发表于 2015-5-14 16:12
    没有。这个看以参考例程的。

    可以加你q么?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-5-14 16:32:48 | 显示全部楼层
    我这里上不了QQ。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-27 03:19 , Processed in 0.105164 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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