第二章:C语言循环单次AD采集100组数据取平均值
文章目录
- 第二章:C语言循环单次AD采集100组数据取平均值
- 一、实验目的:
- 二、使用步骤
- 三、实验步骤:
- 1.打开Visual C++ 6.0,配置如前文所述环境。
- 2.定义如图所示变量,分别是五个整形变量x,y,i,z,q,以及三个浮点型变量z1[16][100],sum,a[16]。其中z1[16][100]为2维数组变量,a[16]为一维数组变量。
- 3.如前文所述,将x赋值开机启动函数,以此判断开发板工作状态是否正常。
- 4.写入第一个嵌套for循环,前一个for循环令变量z从0开始计数,循环16次,已保证每个通道都能采集到。后一个for循环令变量y从0开始计数,循环100次,保证单个通道可以采集到一百个数据。
- 5.编写代码来对采集到的数据求和取平均值,写入第二个嵌套for循环。此处前一个for循环令变量q从0开始计数,一共计算16个通道各自采集到的数据的平均值,后一个for循环令变量z从0开始计数,以此来对单个通道采集到的所有数据求和。最后用一维数组a[16]来存放得到的16份平均值。最后用printf将所有计算得到的平均值逐行打印出来。然后关闭。
- 6.将开发板接入电脑,运行程序,打印结果。我们在第1、2、16号AD口输入了3.3V的电压,由此结果可知,将测得的数据取平均值,可以得到更加准确的数据.
- 四、实验结果及思考:
- 五、注意事项:
一、实验目的:
1.熟悉C语言数组与for循环的概念与使用
二、使用步骤
1.启动开发板并对16个通道循环进行100次的单次AD采集。
三、实验步骤:
1.打开Visual C++ 6.0,配置如前文所述环境。
2.定义如图所示变量,分别是五个整形变量x,y,i,z,q,以及三个浮点型变量z1[16][100],sum,a[16]。其中z1[16][100]为2维数组变量,a[16]为一维数组变量。
如图1:
3.如前文所述,将x赋值开机启动函数,以此判断开发板工作状态是否正常。
如图2:
4.写入第一个嵌套for循环,前一个for循环令变量z从0开始计数,循环16次,已保证每个通道都能采集到。后一个for循环令变量y从0开始计数,循环100次,保证单个通道可以采集到一百个数据。
如图3:
也可以用另一种方法实现上述功能,不先对单通道采满100次,再循环至下一个通道,而是逐个通道采集一次,再进行循环,如图4:
5.编写代码来对采集到的数据求和取平均值,写入第二个嵌套for循环。此处前一个for循环令变量q从0开始计数,一共计算16个通道各自采集到的数据的平均值,后一个for循环令变量z从0开始计数,以此来对单个通道采集到的所有数据求和。最后用一维数组a[16]来存放得到的16份平均值。最后用printf将所有计算得到的平均值逐行打印出来。然后关闭。
如图5:
6.将开发板接入电脑,运行程序,打印结果。我们在第1、2、16号AD口输入了3.3V的电压,由此结果可知,将测得的数据取平均值,可以得到更加准确的数据.
如图6:
四、实验结果及思考:
1.通过Visual C++ 6.0编程让开发板进行16个端口100次电压数据采集,最终求得16份平均值。
思考:如何等间隔的连续采集数据?
五、注意事项:
数组的第一个元素的地址是0不是1,每个元素的地址都是往前减一,例如第100个元素的地址是99。