使用网页应用程序(HTA)开发简单串口控制软件

利用PC机,通过串口协议控制单片机或其他嵌入式系统是工业上广泛使用的技术。相信很多人都没用网页开发过串口应用程序,近期我尝试使用HTML+JavaScript+ActiveX模式开发了个简单的串口控制应用程序。

 

示例应用程序,点击这里进入下载页面。

(可看到完整的网页应用程序代码,运行之前需要注册控件,不过我只能“口头”保证没有病毒。)

 

关于“网页应用程序(HTA)”的基本介绍,大家搜一下就知道了,很简单的。

ActiveX控件在这个架构中完成串口通信的功能,在网页上,一个控件代表一个串口连接,如果需要控制多个串口,则需要多个串口空间。把串口读写功能封装在一个ActiveX控件里并不困难,在此也就不罗嗦了。我写的串口通信控件提供了这么几个接口:

[code=C/C++]

/**

** 描述:使用类似"9600,n,8,0"的设置字符串设置串口

** 参数: port 串口号

** 参数: setstr 串口状态设置,如“9600,n,8,0

** 返回: 0(失败),1(成功)

**/

LONG CommOpen(LONG port, LPCTSTR setstr)

/**

** 描述:发送串口数据

** 参数: data 发送的数据,其格式为以字符串描述的十六进制的字节,其序列以空格隔开

** 返回: 0(成功)

**/

LONG CommSend(LPCTSTR data);

/**

** 描述:判断串口是否已经被打开

** 返回:true(打开),false(未打开)

**/

VARIANT_BOOL IsCommOpen(void);

/**

** 描述:关闭串口

**/

void CommClose(void);

[/code]

当串口收到数据时,通信控件会携带收到的数据触发一个数据接收事件:

[code=C/C++]

/**

** 描述:串口数据接收事件

** 参数:data 接收的数据,其格式为以字符串描述的十六进制的字节,其序列以空格隔开

**/

OnCommRecv(LPCTSTR data);

 

[/code]

HTA应用程序中捕捉并处理这个时间的方式如下:

[code=HTML]

[/code]

在程序中加入了一个串口通信控件,并取名为“ComAxCtrl”,

你可能感兴趣的:(function,javascript,null,command,cmd,object)