查看: 3799|回复: 13

[分享] KL26 ADC软件触发

[复制链接]
  • TA的每日心情
    开心
    2016-11-14 15:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    63

    主题

    605

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1783
    最后登录
    2016-11-14
    发表于 2015-7-1 10:53:05 | 显示全部楼层 |阅读模式
    之前用KL26的adc硬件触发,做了个测试CPU温度程序。然后刚刚看了看数据手册,ADC又分为软件触发和硬件触发的。我的硬件触发的思路是TMP模块定时两秒,然后就自动触发ADC进行转换,然后我想问问如果改成定时2秒后软件触发的话是一个怎样的编程思路呢。
    ADC软硬件触发.png
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16714
    最后登录
    1970-1-1
    发表于 2015-7-1 12:42:31 | 显示全部楼层
    在定时器到时起动ADC
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-14 15:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    63

    主题

    605

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1783
    最后登录
    2016-11-14
     楼主| 发表于 2015-7-1 13:20:04 | 显示全部楼层
    lkl0305 发表于 2015-7-1 12:42
    在定时器到时起动ADC

    帅哥,有个问题想问你,请问那个启动ADC进行采集数据的寄存器叫什么名字啊,我看了好多遍数据手册,好像都没有找到的啊,请问是哪个寄存器控制他开始工作的啊。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2015-7-1 13:50:06 | 显示全部楼层
    最后无事 发表于 2015-7-1 13:20
    帅哥,有个问题想问你,请问那个启动ADC进行采集数据的寄存器叫什么名字啊,我看了好多遍数据手册,好像 ...

    我建议设置每2秒触发时钟中断,然后在中断函数中启动ADC采样。
    控制寄存器是:ADCx_SC1n
    2015-07-01_13-49-40.jpg
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-14 15:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    63

    主题

    605

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1783
    最后登录
    2016-11-14
     楼主| 发表于 2015-7-1 14:01:47 | 显示全部楼层
    FSL_TICS_ZP 发表于 2015-7-1 13:50
    我建议设置每2秒触发时钟中断,然后在中断函数中启动ADC采样。
    控制寄存器是:ADCx_SC1n

    ADC0_SC1A = (ADC_SC1_AIEN_MASK | ADC_SC1_ADCH(0x1A));
    是加这条语句上去吗?加在定时器的中断函数里面??
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2015-7-1 14:28:04 | 显示全部楼层
    最后无事 发表于 2015-7-1 14:01
    ADC0_SC1A = (ADC_SC1_AIEN_MASK | ADC_SC1_ADCH(0x1A));
    是加这条语句上去吗?加在定时器的中断函数里 ...

    如果你对采样频率没什么要求的话,这是可以的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-14 15:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    63

    主题

    605

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1783
    最后登录
    2016-11-14
     楼主| 发表于 2015-7-1 14:29:21 | 显示全部楼层
    FSL_TICS_ZP 发表于 2015-7-1 14:28
    如果你对采样频率没什么要求的话,这是可以的

    OK,谢谢,又涨知识了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-14 15:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    63

    主题

    605

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1783
    最后登录
    2016-11-14
     楼主| 发表于 2015-7-1 15:06:22 | 显示全部楼层
    FSL_TICS_ZP 发表于 2015-7-1 14:28
    如果你对采样频率没什么要求的话,这是可以的

    不过仔细想想还是有个疑问的,ADC0_SC1A = (ADC_SC1_AIEN_MASK | ADC_SC1_ADCH(0x1A)); 这句话并没有控制ADC启动开始采集数据啊,只是控制他开启转换完成中断还有是哪个通道而已,我想控制他的开始采集数据的那个寄存器啊!
    123545.png
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2015-7-1 16:37:54 | 显示全部楼层
    最后无事 发表于 2015-7-1 15:06
    不过仔细想想还是有个疑问的,ADC0_SC1A = (ADC_SC1_AIEN_MASK | ADC_SC1_ADCH(0x1A)); 这句话并没有控制 ...

    你选择软件触发后,只要选择可使用的通道,ADC采样自动开始,直到采样结束
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-14 15:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    63

    主题

    605

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1783
    最后登录
    2016-11-14
     楼主| 发表于 2015-7-1 16:40:54 | 显示全部楼层
    FSL_TICS_ZP 发表于 2015-7-1 16:37
    你选择软件触发后,只要选择可使用的通道,ADC采样自动开始,直到采样结束 ...

    所以说,选择触发方式的那条语句就是开启ADC采集数据的开始指令?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-27 22:23 , Processed in 0.103311 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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