找回密码
 立即注册
查看: 470|回复: 5

关于"老梁开源示波器"的请教

[复制链接]
  • TA的每日心情
    开心
    13 分钟前
  • 签到天数: 151 天

    [LV.7]常住居民III

    2

    主题

    20

    回帖

    898

    积分

    高级会员

    积分
    898
    发表于 2023-4-26 19:48:50 | 显示全部楼层 |阅读模式
    请问"老梁开源示波器"的ADC结果是啥方式获取的? 查询方式?中断方式?DMA方式?
    回复 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3006

    回帖

    6777

    积分

    超级版主

    积分
    6777
    发表于 2023-5-5 10:26:23 | 显示全部楼层
    定时器定时触发ADC,ADC中断读取。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    13 分钟前
  • 签到天数: 151 天

    [LV.7]常住居民III

    2

    主题

    20

    回帖

    898

    积分

    高级会员

    积分
    898
     楼主| 发表于 2023-5-5 16:08:29 | 显示全部楼层
    梁工 发表于 2023-5-5 10:26
    定时器定时触发ADC,ADC中断读取。

    谢谢"梁工"!
    源码中只看到,定时器定时触发ADC,并直接读取ADC_RES值。没看到ADC中断读取。
    不知我理解对吗?

    点评

    哦,对的,我都记错了,最开始的版本是定时器触发ADC,ADC中断读的,但是采样到500K时时间不够,后来改版如下: 1、等待同步触发: 如果是标准(普通)触发或单次触发,则一直等待同步条件,条件满足马上触发ADC  详情 回复 发表于 2023-5-5 16:39
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3006

    回帖

    6777

    积分

    超级版主

    积分
    6777
    发表于 2023-5-5 16:39:44 | 显示全部楼层
    Xushunfa 发表于 2023-5-5 16:08
    谢谢"梁工"!
    源码中只看到,定时器定时触发ADC,并直接读取ADC_RES值。没看到ADC中断读取。
    不知我理解 ...

    哦,对的,我都记错了,最开始的版本是定时器触发ADC,ADC中断读的,但是采样到500K时时间不够,后来改版如下:
    1、等待同步触发:
        如果是标准(普通)触发或单次触发,则一直等待同步条件,条件满足马上触发ADC,同时启动采样定时器。
        如果是自动触发,同步条件满足,或同步超时,马上触发ADC,同时启动采样定时器。
    2、定时器中断先读出ADC,再触发ADC,保存刚才读出的ADC值,采样未够则退出中断,采样够则停止采样,关闭采样定时器。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    13 分钟前
  • 签到天数: 151 天

    [LV.7]常住居民III

    2

    主题

    20

    回帖

    898

    积分

    高级会员

    积分
    898
     楼主| 发表于 2023-5-5 19:37:57 | 显示全部楼层
    梁工 发表于 2023-5-5 16:39
    哦,对的,我都记错了,最开始的版本是定时器触发ADC,ADC中断读的,但是采样到500K时时间不够,后来改版 ...

    再次谢谢"梁工"!
    这就对了,比较器“过零”中断触发启动ADC及T0,然后由T0中断读取ADC结果,并继续。
    您的解答排除了我的疑惑。也学到了新的ADC应用方法。

    点评

    也可以用PWM自动定时触发ADC,ADC中断读取。由于要使用高级PWM,担心对初学者造成困难,所以我还是使用定时器中断采样,这样简单。示波器重在数据采样处理。  详情 回复 发表于 2023-5-5 21:29
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3006

    回帖

    6777

    积分

    超级版主

    积分
    6777
    发表于 2023-5-5 21:29:18 | 显示全部楼层
    Xushunfa 发表于 2023-5-5 19:37
    再次谢谢"梁工"!
    这就对了,比较器“过零”中断触发启动ADC及T0,然后由T0中断读取ADC结果,并继续。
    您 ...

    也可以用PWM自动定时触发ADC,ADC中断读取。由于要使用高级PWM,担心对初学者造成困难,所以我还是使用定时器中断采样,这样简单。示波器重在数据采样处理。
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-14 19:42 , Processed in 0.061123 second(s), 49 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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