查看: 4676|回复: 11

[原创] 【YL-KL26Z开发】AD转换DMA方式,采用中断方式实现AD转换和...

[复制链接]
  • TA的每日心情
    开心
    2016-10-25 09:15
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    13

    主题

    430

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1385
    最后登录
    2018-6-13
    发表于 2015-12-30 15:10:40 | 显示全部楼层 |阅读模式
    本帖最后由 hellokity 于 2015-12-30 15:10 编辑

    最近在调试AD转换,想采用中断方式实现转换和存储,因此就想到了DMA。思路是AD转换完成后,进入中断软件触发再次转换(为了便于控制AD转换的速度,降低CPU的使用率,并没有在AD中断里启动再次转换,而是在滴答定时器里实现),同时发出DMA请求,DMA传送完成后,中断处理再次传送,依次实现AD转换和存储的中断处理。部分程序采用采用周立功和深圳优龙公司的参考例程,但稍做了修改。不说,上图。

    main函数

    main函数

    DMA初始化

    DMA初始化

    各种中断处理

    各种中断处理

    AD初始化

    AD初始化

    串口调试信息

    串口调试信息
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2015-12-30 15:39:49 | 显示全部楼层
    代码可以用专门的代码添加,方便其它人员学习,复制,图片只能看看了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2015-12-30 15:40:11 | 显示全部楼层
    还是要谢谢楼主的分享
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-10-25 09:15
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    13

    主题

    430

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1385
    最后登录
    2018-6-13
     楼主| 发表于 2015-12-30 17:33:12 | 显示全部楼层
    nothingness 发表于 2015-12-30 15:39
    代码可以用专门的代码添加,方便其它人员学习,复制,图片只能看看了

    谢谢你的建议,下次采纳。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 21:34
  • 签到天数: 2454 天

    连续签到: 10 天

    [LV.Master]伴坛终老

    17

    主题

    5363

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    11302
    最后登录
    2025-7-22
    发表于 2015-12-30 17:48:55 | 显示全部楼层
    谢谢楼主分享
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-12 00:23
  • 签到天数: 745 天

    连续签到: 1 天

    [LV.9]以坛为家II

    27

    主题

    1万

    帖子

    26

    金牌会员

    Rank: 6Rank: 6

    积分
    6868
    最后登录
    2020-7-15
    发表于 2015-12-30 18:30:45 | 显示全部楼层
    直接贴代码或者发个附件要方便些。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16705
    最后登录
    1970-1-1
    发表于 2015-12-30 20:59:48 | 显示全部楼层
    多谢分享
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2015-12-30 21:24:18 | 显示全部楼层
    谢谢分享,我计划用DMA传送ADC采样结果到内存,N次后计算平均值送LCD显示结果。会用到ADC采样完成中断触发DMA传送一组数据,继续采样中断在传送1组,8次后主程序计算平均送LCD显示。想好做起来可能不那么容易。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-10-25 09:15
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    13

    主题

    430

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1385
    最后登录
    2018-6-13
     楼主| 发表于 2015-12-31 08:39:44 | 显示全部楼层
    zhjb1 发表于 2015-12-30 21:24
    谢谢分享,我计划用DMA传送ADC采样结果到内存,N次后计算平均值送LCD显示结果。会用到ADC采样完成中断触发D ...

    可以定义一个长度为8的数组,转换完成一个,DMA传送一个,相应的设定DMA目的地址自动加1,完成8个后再次启动传送,应该能够满足你的要求
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-12-31 09:14:53 | 显示全部楼层
    谢谢kitty猫的分享
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-23 04:51 , Processed in 0.099986 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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