有关JavaScript获取电子秤串口数据的编程代码

接口/总线/驱动

1116人已加入

描述

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

本文介绍有关JavaScript获取电子秤串口数据的编程代码。

有关JavaScript获取电子秤串口数据的完整代码

//创建MSComm对象

functionuf_GetSerPortData()

{

try

{

MSComm1=newActiveXObject(“MSCOMMLib.MSComm.1”);

if((typeof(MSComm1)==“undefined”)||(MSComm1==null))

{

alert(“创建MSComm1对象失败!”);

}

else

{

//绑定事件

fn();

}

}

catch(err)

{

alert(err.description);

}

}

varfn=function(){

functionMSComm1::OnComm(){

MSComm1_OnComm();

}

}

//事件响应

functionMSComm1_OnComm()

{

switch(MSComm1.CommEvent)

{

case1:{window.alert(“SendOK!”);break;}//发送事件

case2:{Receive();break;}//接收事件

default:alert(“EventRaised!”+MSComm1.CommEvent);;

}

}

functionOperatePort()

{

if(MSComm1.PortOpen==true)

{

try{MSComm1.PortOpen=false;

SKButton1.value=“打开串口”;

}catch(ex)

{alert(ex.message);}

}

else{

try{MSComm1.PortOpen=true;

MSComm1.InBufferCount=0;

SKButton1.value=“关闭串口”;

}catch(ex)

{alert(ex.message);}

}

}

functionConfigPort()

{

varcomport=“”;

varboundRate=“”;

varjiaoyanwei=“”;

varshujuwei=“”;

vartingzhiwei=“”;

comport=SKDBcombobox1.value;

boundRate=SKDBcombobox2.value;

jiaoyanwei=SKDBcombobox3.value;

shujuwei=SKDBedit5.value;

tingzhiwei=SKDBedit6.value;

if(MSComm1.PortOpen==false)

{

try{

/*

MSComm1.CommPort=comport;

MSComm1.Settings=boundRate+“,”+jiaoyanwei+“,”+shujuwei+“,”+tingzhiwei;

MSComm1.OutBufferCount=0;//清空发送缓冲区

MSComm1.InBufferCount=0;//滑空接收缓冲区

*/

MSComm1.CommPort=“4”;

switch(SKDBcombobox1.value)

{

case“COM1”:

MSComm1.CommPort=“1”;

break;

case“COM2”:

MSComm1.CommPort=“2”;

break;

case“COM3”:

MSComm1.CommPort=“3”;

break;

}

MSComm1.Settings=“9600”+

“,”+“n”+

“,”+“8”+

“,”+“1”;

MSComm1.OutBufferCount=0;//清空发送缓冲区

MSComm1.InBufferCount=0;//滑空接收缓冲区

MSComm1.RThreshold=1;//接收一个字节就触发omcom事件

alert(“已配置串口COM”+MSComm1.CommPort+“ 参数:”+MSComm1.Settings);

}catch(ex){alert(ex.message);}

}

else{alert(“请先关闭串口后再设置!”);}

}

vartmpWeight=“”;

//接收数据

functionReceive()

{

//alert(“InBufferCount::”+MSComm1.InBufferCount);

varinputvalue=MSComm1.Input;

if(inputvalue.indexOf(‘g’)》=0){

return;

}

//alert(inputvalue);

tmpWeight+=inputvalue.replace(‘-’,‘’);

if(tmpWeight.length》16)

{

if(tmpWeight.indexOf(‘000’))

{

varweight=trim(tmpWeight.substr(5,5));

if(weight.indexOf(‘0’)==0)

{

weight=weight.replace(“0”,“0.”)

}

SKDBedit7.value=weight;

tmpWeight=“”;

}

}

//alert(“InBufferCount::”+MSComm1.InBufferCount);

}

/*

varweight;

varmyArray=newArray();

functionGetWeight()

{

}

*/

functionserPortInit()

{

SKDBcombobox1.value=“COM4”;

SKDBcombobox2.value=“9600”;

SKDBcombobox3.value=“无NONE”;

SKDBedit5.value=“8”;

SKDBedit6.value=“1”;

//初始化创建MSComm1对象

uf_GetSerPortData();

}

functiontrim(str){//删除左右两端的空格

returnstr.replace(/(^s*)|(s*$)/g,“”);

}

functionltrim(str){//删除左边的空格

returnstr.replace(/(^s*)/g,“”);

}

functionrtrim(str){//删除右边的空格

returnstr.replace(/(s*$)/g,“”);

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分