284
490
2566
金牌会员
当我只开启15通道测得的电压是对的,但我同时开启10通道一起测时,原本15通道的值就不对了
10通道暂时是悬空的
在xdata创建两个数组,把数组地址赋值给DMA_ADC_RXA,测得的数组第二个值就是15通道的值,计算得到的电压不对,
但只测15通道,使用数组第一个值计算得到的电压是正确的
使用道具 举报 送花
147
4045
1万
超级版主
不更改 ADC_DMA 配置寄存器 2(DMA_ADC_CFG2)的话,默认转换次数就是1,如果你使用int宽度的数组,那么第一通道就需要占用数组的0~2地址,第二个通道需要从数组的第三个下标开始取出
ADC_DMA 配置寄存器 2(DMA_ADC_CFG2)
例如ShuZu[3]这种形式,而不是是直接取出下一个。
ShuZu[3]
96
7378
unsigned char xdata DMA_Buffer[ADC_CH][ADC_NUM*2+4] _at_ DMA_ADDR; for(i=0;i<ADC_CH;i++) { ADC_Value[i]=DMA_Buffer[i][2*ADC_NUM+2]; ADC_Value[i]<<=8; ADC_Value[i]|=DMA_Buffer[i][2*ADC_NUM+3]; ADC_Value[i]<<=8; ADC_Value[i]|=DMA_Buffer[i][2*ADC_NUM+1]; ADC_Value[i]>>=4; //20bit结果右移4位得16位结果 }复制代码
王*** 发表于 2024-12-17 20:37 不更改 ADC_DMA 配置寄存器 2(DMA_ADC_CFG2)的话,默认转换次数就是1,如果你使用int宽度的数组,那么第 ...
QQ6243*** 发表于 2024-12-18 08:49 转换一次不就各个通道取一次值吗,两个通道不就取了4个字节数据吗 为什么会有8字节数据 ...
王*** 发表于 2024-12-18 08:53 有硬件自动平均值和对应的通道号,上面的数据格式截图已经说明了具体的内容 ...
每个通道都会有
一个通道如果只转换一次的话,也是需要占用6个byte数据
2
13
72
注册会员
王*** 发表于 2024-12-18 09:33 每个通道都会有 一个通道如果只转换一次的话,也是需要占用6个byte数据
平*** 发表于 2025-8-8 20:23 大神能不能解释一下, 41 44 43 30 3A 20 20 41 44 43 31 3A 20 20
本版积分规则 发表回复 回帖后跳转到最后一页
|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )
GMT+8, 2026-9-23 16:06 , Processed in 0.086447 second(s), 97 queries .
Powered by Discuz! X3.5
© 2001-2026 Discuz! Team.