野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19228|回复: 2

一些代码写法的疑问

[复制链接]
发表于 2015-3-18 10:01:45 | 显示全部楼层 |阅读模式
(1).疑问1
声明如下:
__IO uint16_t ADC_ConvertedValue[98],ADC_ConvertedValue_Average[7];


ADC_ConvertedValue_Average[ADC_CH]=(ADC_ConvertedValue[14+ADC_CH]+ADC_ConvertedValue[21+ADC_CH]+ADC_ConvertedValue[28+ADC_CH]+ADC_ConvertedValue[35+ADC_CH]+ADC_ConvertedValue[42+ADC_CH]+                                                    ADC_ConvertedValue[49+ADC_CH]+ADC_ConvertedValue[56+ADC_CH]+ADC_ConvertedValue[63+ADC_CH]+ADC_ConvertedValue[70+ADC_CH]+ADC_ConvertedValue[77+ADC_CH])/10

中的ADC_ConvertedValue[14+ADC_CH]为什么要这样写:14+ADC_CH,而不是ADC_ConvertedValue[14]?


(2).疑问2
定义如下:
static char *p_ADC_STR1;
  p_ADC_STR1=&ADC_STR1[0][0];


itoa是将整形数据转成数据的函数,
itoa(ADC_ConvertedValue_Average[ADC_CH], p_ADC_STR1+ADC_CH*5,10);       
这个为什么要这样写:p_ADC_STR1+ADC_CH*5?而不是p_ADC_STR1?

回复

使用道具 举报

发表于 2015-3-19 18:51:54 | 显示全部楼层
(1)按照楼主这样写只能计算一个数列组的平均值。而按照原来写法控制ADC_CH值的可以计算7个数列组的平均值。
比如ADC_CH=0:计算ADC_ConvertedValue_Average[0]=(ADC_ConvertedValue[14]+ADC_ConvertedValue[21]+ADC_ConvertedValue[28]+ADC_ConvertedValue[35]+ADC_ConvertedValue[42]+   ADC_ConvertedValue[49]+ADC_ConvertedValue[56]+ADC_ConvertedValue[63]+ADC_ConvertedValue[70]+ADC_ConvertedValue[77])/10
当ADC_CH=5:计算:ADC_ConvertedValue_Average[5]=(ADC_ConvertedValue[14+5]+ADC_ConvertedValue[21+5]+ADC_ConvertedValue[28+5]+ADC_ConvertedValue[35+5]+ADC_ConvertedValue[42+5]+                                                    ADC_ConvertedValue[49+5]+ADC_ConvertedValue[56+5]+ADC_ConvertedValue[63+5]+ADC_ConvertedValue[70+5]+ADC_ConvertedValue[77+5])/10
(2)地址偏移,将不同通道数据保存在不同地址。原理有点同第一问
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-19 23:40:03 | 显示全部楼层
亽亼 发表于 2015-3-19 18:51
(1)按照楼主这样写只能计算一个数列组的平均值。而按照原来写法控制ADC_CH值的可以计算7个数列组的平均值 ...

明白了。地址偏移的原理不懂,得再查查其他的资料
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-7 01:18 , Processed in 0.058884 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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