实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验指导
一、建立index.html文件
Index.html文件是我们在IE浏览器的地址栏中输入服务器IP地址时所看到的页面。
我们的index.html文件如下所示:
AD远程采集实验
2008-12-11
这个文件产生的效果如下所示:
当点击查看按钮时,页面会跳转到数据采集的显示页面,同时,服务器的后台程序也会开始运行,对我们的三个输入通道进行采集。
二、数据采集页面
数据采集页面我们命名为adc.ht ml,该文件的全部内容如下:
var XMLdoc;
function loadXML()
{
if(window.ActiveXObject)
{
XMLdoc = new ActiveXObject("Microsoft.XMLDOM");
XMLdoc.async = false;
XMLdoc.load("adc.xml");
getmessage();
}
setTimeout("loadXML()", 1000);
}
function getmessage()
{
document.getElementById("ch_0").innerHTML = XMLdoc.getElementsByTagName("ch_0")[0].childNodes[0].nodeV alue;
document.getElementById("ch_1").innerHTML = XMLdoc.getElementsByTagName("ch_1")[0].childNodes[0].nodeV alue;
document.getElementById("ch_2").innerHTML = XMLdoc.getElementsByTagName("ch_2")[0].childNodes[0].nodeV alue;
}
AD远程测试实验
这个文件的页面就是我们在按下上面的Index.html的查看按钮后跳转过来的,效果如下图所示:
它分别显示了我们的开发板上的三个AD通道的采样值,为简单起见,我们只保留一位小数。
上面的文件中包含了HTML代码和JavaScript脚本。详细介绍一下JavaScript脚本。该脚本定义了两个函数:loadXML和getmessage,文件中用红色标示出来了。使用这个脚本的目的就是让页面能动态更新数据,而不用我们手动对页面进行刷新。
LoadXML函数在页面被打开时调用,在该函数的末尾有这样一句:
setTimeout("loadXML()", 1000);
它的作用就是让这个函数每1000毫秒(也就是1秒)重新执行一次,如果要改变
刷新频率,那么把1000改成你想要的数据即可。考虑到服务器的承受能力,这个值不能取得太小。
Getmessage函数被loadXML函数调用,它的作用就是从服务器的adc.xml文件中解析出我们需要的数据,在页面上显示。因此,这个函数和服务器上的adc.xml文件是紧密相关的。Adc.xml文件的全部内容如下:
我们的后台服务程序也会对这个文件进行读写,从而达到服务器和用户进行数据交换的目的。
三、服务器后台程序
这里所谓的服务器后台程序就是对AD进行采样的程序,该文件叫做run.c,全部内容如下:
#include
#include
#include
#include
#include
void getdata(char *buff, int adcfd, int ret)
{
int temp;
int i=0, j;
for(j=0; j<3; j++)
{
ioctl(adcfd, j, 0);
read(adcfd, &temp, sizeof(int));
temp += 16;
temp = temp/31;
for(; i { if((buff[i] == '<') && (buff[i+1] == 'c') && (buff[i+2] == 'h')) break; } buff[i+6] = (temp/10) + 48; buff[i+8] = (temp%10) + 48;