|
本帖最后由 dongfengge555 于 2012-4-21 09:35 编辑
小弟最近在调LPC2388以太网工程,先附上网页显示界面。
此网页显示为读取AD采样的数据,
网页是用HTML语言编写
ad.cgx
t <form>
t <text>
t <id>ad_value</id>
c x<value>0x%03X</value>
t </text>
t </form>
.
ad.cgi
t <html><head><title>AD Input</title>
t <script language=JavaScript type="text/javascript" src="xml_http.js"></script>
t <script language=JavaScript type="text/javascript">
# Define URL and refresh timeout
t var formUpdate = new periodicObj("ad.cgx", 500);
t function plotADGraph() {
t adVal = document.getElementById("ad_value").value;
t numVal = parseInt(adVal, 16);
t voltsVal = (3.3*numVal)/1024;
t tableSize = (numVal*100/1024);
t document.getElementById("ad_table").style.width = (tableSize + '%');
t document.getElementById("ad_volts").value = (voltsVal.toFixed(3) + ' V');
t }
t function periodicUpdateAd() {
t if(document.getElementById("adChkBox").checked == true) {
t updateMultiple(formUpdate,plotADGraph);
t ad_elTime = setTimeout(periodicUpdateAd, formUpdate.period);
t }
t else
t clearTimeout(ad_elTime);
t }
t </script></head>
i pg_header.inc
t <h2 align="center"><br>AD Converter Input</h2>
t <p><font size="2">This page allows you to monitor AD input value in numeric
t and graphics form. Periodic screen update is based on <b>xml</b> technology.
t This results in smooth flicker-free screen update.<br><br>
t Turn potentiometer on an evaluation board clockwise or counterclockwise
t and observe the change of AD value on the screen.</font></p>
t <form action="ad.cgi" method="post" name="ad">
t <input type="hidden" value="ad" name="pg">
t <table border=0 width=99%><font size="3">
t <tr style="background-color: #aaccff">
t <th width=15%>Item</th>
t <th width=15%>Value</th>
t <th width=15%>Volts</th>
t <th width=55%>Bargraph</th></tr>
t <tr><td><img src="pabb.gif">POT1:</td>
t <td align="center">
t <input type="text" readonly style="background-color: transparent; border: 0px"
c g 1 size="10" id="ad_value" value="0x%03X"></td>
t <td align="center"><input type="text" readonly style="background-color: transparent; border: 0px"
c g 2 size="10" id="ad_volts" value="%5.3f V"></td>
t <td height=50><table bgcolor="#FFFFFF" border="2" cellpadding="0" cellspacing="0" width="100%"><tr>
c g 3 <td><table id="ad_table" style="width: %d%%" border="0" cellpadding="0" cellspacing="0">
t <tr><td bgcolor="#0000FF"> </td></tr></table></td></tr></table></td></tr>
t </font></table>
t <p align=center>
t <input type=button value="Refresh" onclick="updateMultiple(formUpdate,plotADGraph)">
t Periodic:<input type="checkbox" id="adChkBox" onclick="periodicUpdateAd()">
t </p></form>
i pg_footer.inc
. End of script must be closed with period
以上代码为我网页部分代码。
下面贴出我程序的处理代码
case 'g':
/* AD Input - file 'ad.cgi' */
switch (env[2]) {
case '1':
adv = AD_in (0);
len = sprintf((char *)buf,(const char *)&env[4],adv);
///////////////////////////////////////////////////////////////////////
for(j=0;j<100;j++)
{
*(buf+j+len) = 100;
} len += 100;
///////////////////////////////////////////////////////////////////////
break;
case '2':
len = sprintf((char *)buf,(const char *)&env[4],(float)adv*3.3/1024);
break;
case '3':
adv = (adv * 100) / 1024;
len = sprintf((char *)buf,(const char *)&env[4],adv);
break;
}
break;
case 'x':
/* AD Input - xml file 'ad.cgx' */
adv = AD_in (0);
len = sprintf((char *)buf,(const char *)&env[1],adv);
break;
现在我的板子和电脑通过以太网通信,一切正常。然后我在CASE '1'里面加了一个FOR语句,在这里不仅发送AD采样的数据,我还要继续发送另外100个数据。但这另外100个数据只发送过去,并不需要显示在网页上。然后我用抓包软件进行监测,我并没有抓到我所发的这100个数据。
以下附上我抓包软件截图:
此图为我在CASE '1'里面加了一个FOR语句后显示的结果,我往buf缓冲区写了100个100,100的ASCII码是d,所以在网页上显示了这么多的d。但我在抓包软件里并没有看到我传送的这100个100数据。
以下是我的问题:
1.我往buf缓冲区写了这100个数据,为何我在抓包软件中看不到?程序要怎样修改才能正确?
2.AD采样的值我通过抓包软件也看不到,请问是怎么回事?我找不到数据在什么位置!!!
请各位大侠不吝赐教,万分感激!
另附 上抓包软件和截图
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|