学习发财财财 发表于 2024-3-7 12:43:02

梁工 发表于 2024-3-5 23:20
不明白“最后将ADC两字节数据还原到0~4095时数据出现了问题”指的是什么。
DMA完成之后,直接读平均值即可 ...

就是内存位置错了,按照官方文档来的,你看看打圈的是不是有问题

学习发财财财 发表于 2024-3-7 12:44:01

图片上传

神农鼎 发表于 2024-3-7 13:08:18








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

本例程基于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 (用户可自行修改频率).

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

梁工 发表于 2024-3-7 15:43:03

手册有误,我立刻通知公司修改。

STC8H8K64U 或 STC8A8K64D4的手册没有错误:


页: 1 [2]
查看完整版本: STC32G ADC+DMA