在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → web串口通讯示例源码(基于MSComm)

web串口通讯示例源码(基于MSComm)

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:2.38KB
  • 下载次数:32
  • 浏览次数:1061
  • 发布时间:2019-09-17
  • 实例类别:Android平台开发
  • 发 布 人:yyh666
  • 文件格式:.zip
  • 所需积分:2
 相关标签: java

实例介绍

【实例简介】

1、打开注册表
2、HKEY_LOCAL_MACHINE
3、HKEY_LOCAL_MACHINE\SOFTWARE
4、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{648A5600-2C6E-101B-82B6-000000000014}
其键值Compatibility Flags改成0(原是400)

【实例截图】

from clipboard

【核心代码】


<html>
<head>
    <title>JavaScript串口测试</title>
    <meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
    <SCRIPT   ID=clientEventHandlersJS   LANGUAGE=javascript>
        <!--
        function   MSComm1_OnComm()
        {
            switch(MSComm1.CommEvent)
            {
                case 1:{ window.alert("Send OK!"); break;}  //发送事件
                case 2: { Receive();break;} //接收事件
                default: alert("Event Raised!" MSComm1.CommEvent);;
            }
        }
        //-->
    </SCRIPT>

    <SCRIPT   LANGUAGE=javascript   FOR=MSComm1   EVENT=OnComm>
        <!--
        // MSComm1控件每遇到 OnComm 事件就调用 MSComm1_OnComm()函数
        MSComm1_OnComm();
        //-->
    </SCRIPT>

    <script   language="JavaScript"   type="text/JavaScript">
        <!--
        String.prototype.Blength = function()
        {
            var arr = this.match(/[^\x00-\xff]/ig);
            return  arr == null ? this.length : this.length   arr.length;
        }

        function OperatePort()
        {
            if(MSComm1.PortOpen==true)
            {
                try
                {
                    MSComm1.PortOpen=false;
                    document.getElementById("OperateButton").value="打开串口";
                }
                catch(ex)
                {
                    alert(ex.message);
                }
            }
            else
            {
                try
                {
                    MSComm1.PortOpen=true;
                    document.getElementById("OperateButton").value="关闭串口";
                }
                catch(ex)
                {
                    alert(ex.message);
                }
            }
        }

        function ConfigPort()
        {
            if(MSComm1.PortOpen==false)
            {
                try
                {
                    MSComm1.CommPort=document.getElementById("ComName").value;
                    MSComm1.Settings=document.getElementById("BaudRate").value.toString() 
                    "," document.getElementById("CheckBit").value.toString() 
                    "," document.getElementById("DataBits").value.toString() 
                    "," document.getElementById("StopBits").value.toString();
                    MSComm1.OutBufferCount =0;           //清空发送缓冲区
                    MSComm1.InBufferCount = 0;           //滑空接收缓冲区
                    alert("已配置串口COM" MSComm1.CommPort "\n 参数:" MSComm1.Settings);
                }
                catch(ex)
                {
                    alert(ex.message);
                }
            }
            else
            {
                alert("请先关闭串口后再设置!");
            }
        }

        function Send()
        {
            //alert(document.getElementById("txtSend").value);
            var orgstr=document.getElementById("txtSend").value;
            var newstr="";
            var hexflag=document.getElementById("isSendHex").checked;
            if(hexflag&&orgstr!="")
            {
                if(orgstr.substr(0,2)=="0x"||orgstr.substr(0,2)=="0X")
                {
                    orgstr=orgstr.substring(2,orgstr.length);
                }
                if(orgstr.length%2!=0)
                {
                    orgstr="0" orgstr;
                }
                if((newstr=str2hex(orgstr,16))=="")
                {
                    alert("错误的16进制数");return false;
                }
            }
            try
            {
                MSComm1.Output=hexflag?newstr:orgstr;
            }
            catch(ex)
            {
                alert(ex.message);
            }
        }
        function Receive()
        {
            document.getElementById("txtReceive").value  = MSComm1.Input;
        }

        function ClearReceived()
        {
            document.getElementById("txtReceive").innerText="";
        }
        -->
    </script>

</head>
<body>
<form name="form1">
    <fieldset style="width:200px;height:250px;text-align:center;">
        <legend>配置串口</legend>
        <div style="float:left;width:200px">
            <br/>
            <span>串口号:</span>
            <select name="ComName" id="ComName" style="width:75px" >
                <option value="1"  >COM1</option>
                <option value="2"  >COM2</option>
                <option value="3" selected >COM3</option>
                <option value="4"  >COM4</option>
            </select>
            <br/>
            <span>波特率:</span>
            <select name="BaudRate" id="BaudRate" style="width:75px" >
                <option value="9600" selected  >9600</option>
                <option value="57600"  >57600</option>
                <option value="115200" >115200</option>
            </select>
            <br/>

            <span>校验位:</span>
            <select name="CheckBit" id="CheckBit" style="width:75px" >
                <option value="N" selected  >无NONE</option>
                <option value="O"  >奇ODD</option>
                <option value="E" >偶EVEN</option>
            </select>
            <br/>

            <span>数据位:</span>
            <input type=text id="DataBits" name="DataBits" value=8 style="width:75px;height:20px">
            <br/>

            <span>停止位:</span>
            <input type=text id="StopBits" name="StopBits" value=1 style="width:75px;height:20px">
            <br/>
            <br/>
            <input   type="button" id="ConfigButton" style="width:80px;height:30px;font-size:13px"   name="ConfigButton"   value="配置串口"   onClick="ConfigPort()">
            <input   type="button" id="OperateButton" style="width:80px;height:30px;font-size:13px"   name="OperateButton"   value="打开串口"   onClick="OperatePort()">
        </div>
    </fieldset>

    <fieldset style="width:200px;height:250px;text-align:center;">
        <legend>发送区域</legend>
        <div style="float:left;">
            <textarea id="txtSend"  name="txtSend" style="width:200px;height:160px"></textarea>
            <br/>
            <span><input id="isSendHex" name="isSendHex" type="checkbox" checked="0" />16进制</span>
            <input   type="button" id="SendButton" style="width:100px;height:30px"   name="SendButton"   value="发送"   onClick="Send()">
        </div>
    </fieldset>

    <fieldset style="width:200px;height:250px;text-align:center;">
        <legend>接收区域</legend>
        <div style="float:left;">
            <textarea id="txtReceive" READONLY=TRUE  name="txtReceive" style="width:200px;height:160px"></textarea>
            <br/>
            <span><input id="isReceiveHex" name="isReceiveHex" type="checkbox" />16进制</span>
            <input  type="button" id="ClearButton" style="width:100px;height:30px"   name="ClearButton"   value="清空"   onClick="ClearReceived()">
        </div>
    </fieldset>
</form>

<OBJECT ID="MSComm1" WIDTH=100 HEIGHT=51 type="application/x-oleobject"
        CLASSID="CLSID:648A5600-2C6E-101B-82B6-000000000014"
        CODEBASE="MSCOMM32.OCX">
    <PARAM NAME="_ExtentX" VALUE="2646">
    <PARAM NAME="_ExtentY" VALUE="1323">
    <PARAM NAME="_Version" VALUE="393216">
    <PARAM NAME="DTREnable" VALUE="-1">
    <PARAM NAME="RThreshold" VALUE="1">
    <PARAM NAME="RTSEnable" VALUE="-1">
</OBJECT>
</body>
</html>  


标签: java

实例下载地址

web串口通讯示例源码(基于MSComm)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警