查看: 2984|回复: 12

[求助] kl25简单的问题

[复制链接]

该用户从未签到

10

主题

31

帖子

0

注册会员

Rank: 2

积分
115
最后登录
2015-12-1
发表于 2015-5-15 15:45:26 | 显示全部楼层 |阅读模式
使用Kl25的TPM 脉冲捕捉功能,采集旋转编码器所产生的脉冲。在tpm模块中还需啊配合PIT中断进行采样控制。其原理是通过定时器在固定的时间去读取tpm的计数器,读取之后将计数器内的值清零,重新开始捕捉计数。那么请问为什么需要设置两个引脚file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1026418670\QQ\WinTemp\RichOle\BFWGBUL~NTSG6SS8$%`~7MO.png? 不是设置一个读旋转编码器的脉冲就行吗?

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

使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-5-15 16:11:50 | 显示全部楼层
    为了防止误差,楼主不是打算采集转速吗?
    比如取了3个T1 T2 T3的采样频率,不能保证T1=T2=T3,这个时候就需要进行数据处理,达到一个比较精确的脉冲时间。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    31

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2015-12-1
     楼主| 发表于 2015-5-15 18:14:52 | 显示全部楼层
    安 发表于 2015-5-15 16:11
    为了防止误差,楼主不是打算采集转速吗?
    比如取了3个T1 T2 T3的采样频率,不能保证T1=T2=T3,这个时候就需 ...

    1.通过旋转编码器来采集脉冲数,从而得到某物件的转数。2.通过电涡流传感器采集电压将电压进行ad转换。3.采集脉冲数和ad转换是独立的,需要两个I/O口

    脉冲数据和ad转换数据都要发送到上位机

    只读数据不进行处理
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    31

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2015-12-1
     楼主| 发表于 2015-5-15 18:16:31 | 显示全部楼层
    安 发表于 2015-5-15 16:11
    为了防止误差,楼主不是打算采集转速吗?
    比如取了3个T1 T2 T3的采样频率,不能保证T1=T2=T3,这个时候就需 ...

    大概思路是通过swith函数来使ad和脉冲采集交替进行吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    31

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2015-12-1
     楼主| 发表于 2015-5-15 18:17:26 | 显示全部楼层
    mr小帆 发表于 2015-5-15 18:16
    大概思路是通过swith函数来使ad和脉冲采集交替进行吧

    不是转速,是转数
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    31

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2015-12-1
     楼主| 发表于 2015-5-15 18:18:00 | 显示全部楼层
    mr小帆 发表于 2015-5-15 18:16
    大概思路是通过swith函数来使ad和脉冲采集交替进行吧

    不是转速,是转数
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-5-16 14:13:11 | 显示全部楼层
    哦。我理解错了。我以为你采集汽车的转速了。
    如果是精度不高可以通过TPM来采集。可以用switch做,也可以用if来做,比较你的判断不是很多。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    31

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2015-12-1
     楼主| 发表于 2015-5-17 20:25:02 | 显示全部楼层
    安 发表于 2015-5-16 14:13
    哦。我理解错了。我以为你采集汽车的转速了。
    如果是精度不高可以通过TPM来采集。可以用switch做,也可以用 ...

    1,可以通过PIT来定时产生中断吗?比如设 置的中断时间间隔为5ms,先ad转换,5ms以后中断,进行tpm脉冲捕捉,这样交替进行。2.通过tpm来产生中断。这两种方式那个比较简单点?
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-5-18 09:08:05 | 显示全部楼层
    1、TPM采集脉冲
    2、AD中断连续采集AD值
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    31

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2015-12-1
     楼主| 发表于 2015-5-19 16:30:11 | 显示全部楼层
    安 发表于 2015-5-18 09:08
    1、TPM采集脉冲
    2、AD中断连续采集AD值

    main:
    各模块初始化
      while(1)
    在这里通过串口发送数据
    定义全局生命周期变量,假设
    static uint32_t_clock=0;

    clock+=1;

    switch(clock%2)
    {case0:
    在这里读ad;
    break;
    case1:
    在这里读脉冲
    break;
    default:
    break;
    }
    我已经完成各模块的初始化了,现在的问题是这个clock怎么设置,跟PIT有什么关系
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

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

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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