<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
JavaScript串口测试
<br> <!--<br> function MSComm1_OnComm()<br><br> {<br><br> switch(MSComm1.CommEvent)<br> {<br> case 1:{ window.alert("Send OK!"); break;} //发送事件<br> case 2: { Receive();break;} //接收事件<br> default: alert("Event Raised!"+MSComm1.CommEvent);;<br> }<br><br> }<br><br> //--> </p> <p>
<br> <!--<br> // MSComm1控件每遇到 OnComm 事件就调用 MSComm1_OnComm()函数<br> MSComm1_OnComm();<br> //--> <br>
<br> <!-- </p> <p>String.prototype.Blength = function(){<br><br> var arr = this.match(/[^\x00-\xff]/ig);<br><br> return arr == null ? this.length : this.length + arr.length;<br><br> } </p> <p>function OperatePort()<br> {<br> if(MSComm1.PortOpen==true)<br> {<br> try{MSComm1.PortOpen=false;<br> document.getElementById("OperateButton").value="打开串口";<br> }catch(ex)<br> {alert(ex.message);}<br><br> }<br> else{<br> try{ MSComm1.PortOpen=true;<br> document.getElementById("OperateButton").value="关闭串口";<br> }catch(ex)<br> {alert(ex.message);}<br><br> }<br> }</p> <p>function ConfigPort()<br> {<br> alert(MSComm1.PortOpen);<br> if(MSComm1.PortOpen==false)<br> {<br><br> try{<br> MSComm1.CommPort=document.getElementById("ComName").value;<br> MSComm1.Settings=document.getElementById("BaudRate").value.toString()+<br> ","+document.getElementById("CheckBit").value.toString()+<br> ","+document.getElementById("DataBits").value.toString()+<br> ","+document.getElementById("StopBits").value.toString();<br><br> MSComm1.OutBufferCount =0; //清空发送缓冲区<br> MSComm1.InBufferCount = 0; //滑空接收缓冲区<br><br> alert("已配置串口COM"+MSComm1.CommPort+"\n 参数:"+MSComm1.Settings);<br><br> }catch(ex){alert(ex.message);}<br> }<br> else{ alert("请先关闭串口后再设置!");}<br> }</p> <p>function stringToHex(str,n){<br> var val="";<br> for(var i = 0; i < str.length; i++){<br> if(val == "")<br> val = str.charCodeAt(i).toString(16);<br> else<br> val += "," + str.charCodeAt(i).toString(16);<br> }<br> return val;<br> }</p> <p>function Send()<br> {<br> //alert(document.getElementById("txtSend").value);<br> var orgstr=document.getElementById("txtSend").value;<br><br> var newstr="";<br> var hexflag=document.getElementById("isSendHex").checked;<br> if(hexflag&&orgstr!="")<br> {<br> if(orgstr.substr(0,2)=="0x"||orgstr.substr(0,2)=="0X") orgstr=orgstr.substring(2,orgstr.length);<br> if(orgstr.length%2!=0) orgstr="0"+orgstr;<br> //alert(stringToHex(orgstr,16));<br> if((newstr=stringToHex(orgstr,16))=="") {alert("错误的16进制数");return false;}<br> }<br> try{<br> MSComm1.Output=hexflag?newstr:orgstr;<br><br> }catch(ex)<br><br> {alert(ex.message);}<br> }</p> <p>function Receive()<br> {<br><br> //alert("InBufferCount::"+MSComm1.InBufferCount);<br> document.getElementById("txtReceive").value += MSComm1.Input;<br><br> //alert("InBufferCount::"+MSComm1.InBufferCount);<br><br> }</p> <p>function ClearReceived()<br> {<br> document.getElementById("txtReceive").innerText="";<br> } </p> <p>
串口号: COM1COM2COM3COM4
波特率: 960057600115200
校验位: 无NONE奇ODD偶EVEN
数据位:
停止位:
16进制
16进制
CLASSID="CLSID:648A5600-2C6E-101B-82B6-000000000014"
CODEBASE="MSCOMM32.OCX">