找回密码
 立即注册
查看: 338|回复: 13

STC32G ADC+DMA

[复制链接]
  • TA的每日心情
    开心
    2024-3-21 21:36
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    1

    主题

    5

    回帖

    33

    积分

    等待验证会员

    积分
    33
    发表于 2024-3-4 18:07:19 | 显示全部楼层 |阅读模式
    根据官方文档,我尝试了一下7通道的ADC+DMA,DMA转换次数选择为4次,但是在最后将ADC两字节数据还原到0~4095时数据出现了问题
    最后我发现把偏移地址再加个(m - 1)就对了,是不是官方文档有问题?

    官方文档

    官方文档


    回复 送花

    使用道具 举报

    该用户从未签到

    555

    主题

    9658

    回帖

    1万

    积分

    管理员

    积分
    14149
    发表于 2024-3-7 13:08:18 | 显示全部楼层
    截图202403071305506781.jpg

    截图202403071306344247.jpg

    截图202403071307271494.jpg


    /************************************************************************************************

    本例程基于STC32G为主控芯片的实验箱进行编写测试。

    使用Keil C251编译器,Memory Model推荐设置XSmall模式,默认定义变量在edata,单时钟存取访问速度快。

    edata建议保留1K给堆栈使用,空间不够时可将大数组、不常用变量加xdata关键字定义到xdata空间。

    0~7通道对应P1.0~P1.7, 8~14通道对应P0.0~P0.6, 15通道为内部1.19V基准电压做输入的ADC值.

    初始化时先把要ADC转换的引脚设置为高阻输入.

    设置数据批量传输(DMA)功能,所有通道一次循环采集的数据自动存放到DMA定义的xdata空间.

    通过串口2(P4.6 P4.7)将DMA定义的xdata空间所收到的数据发送给上位机,波特率115200,N,8,1

    下载时, 选择时钟 22.1184MHz (用户可自行修改频率).

    ************************************************************************************************/

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 11:30
  • 签到天数: 67 天

    [LV.6]常住居民II

    2

    主题

    151

    回帖

    261

    积分

    中级会员

    积分
    261
    发表于 2024-3-4 20:25:14 | 显示全部楼层
    一直没有用过STC 的 DMA
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 107 天

    [LV.6]常住居民II

    42

    主题

    1028

    回帖

    7096

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    7096
    QQ
    发表于 2024-3-4 20:49:37 | 显示全部楼层
    代码包传上来看下
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-21 21:36
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    1

    主题

    5

    回帖

    33

    积分

    等待验证会员

    积分
    33
     楼主| 发表于 2024-3-4 21:12:59 | 显示全部楼层
    ADC.zip (295.31 KB, 下载次数: 21)
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-21 21:36
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    1

    主题

    5

    回帖

    33

    积分

    等待验证会员

    积分
    33
     楼主| 发表于 2024-3-4 21:13:30 | 显示全部楼层

    你看一下
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 107 天

    [LV.6]常住居民II

    42

    主题

    1028

    回帖

    7096

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    7096
    QQ
    发表于 2024-3-5 11:44:20 | 显示全部楼层
    首先手册是没问题的,其次代码没编译通过也没办法下载进去看结果, 最后你描述的那个问题我没看懂,但是看代码好像这个地方明显有问题
    截图202403051140447115.jpg

    点评

    单通道采集4次,那总数就是4x2+4个字节,12个字节为什么这里循环了七次计算?  详情 回复 发表于 2024-3-5 11:47
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 107 天

    [LV.6]常住居民II

    42

    主题

    1028

    回帖

    7096

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    7096
    QQ
    发表于 2024-3-5 11:47:16 来自手机 | 显示全部楼层
    电子DIY小家 发表于 2024-3-5 11:44
    首先手册是没问题的,其次代码没编译通过也没办法下载进去看结果, 最后你描述的那个问题我没看懂,但是看 ...

    单通道采集4次,那总数就是4x2+4个字节,12个字节为什么这里循环了七次计算?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-21 21:36
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    1

    主题

    5

    回帖

    33

    积分

    等待验证会员

    积分
    33
     楼主| 发表于 2024-3-5 11:49:57 | 显示全部楼层
    电子DIY小家 发表于 2024-3-5 11:47
    单通道采集4次,那总数就是4x2+4个字节,12个字节为什么这里循环了七次计算? ...

    是7个通道,每个通道每次采集4次,所以每次采集完后分别把7个通道的数据转换出来。

    点评

    一个通道=2*采集次数+通道号(1字节)+平均完余数(一个字节)+平均值高字节 +平均值低字节  详情 回复 发表于 2024-3-5 12:49
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 107 天

    [LV.6]常住居民II

    42

    主题

    1028

    回帖

    7096

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    7096
    QQ
    发表于 2024-3-5 12:49:58 | 显示全部楼层
    学习发财财财 发表于 2024-3-5 11:49
    是7个通道,每个通道每次采集4次,所以每次采集完后分别把7个通道的数据转换出来。 ...

    一个通道=2*采集次数+通道号(1字节)+平均完余数(一个字节)+平均值高字节  +平均值低字节
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3109

    回帖

    7013

    积分

    超级版主

    积分
    7013
    发表于 2024-3-5 23:20:04 | 显示全部楼层
    不明白“最后将ADC两字节数据还原到0~4095时数据出现了问题”指的是什么。
    DMA完成之后,直接读平均值即可。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-30 10:22 , Processed in 0.079996 second(s), 80 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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