最近公司的项目中需要用到串口通信,项目是用基于AIR的,AIR本身是不支持串口通信的,本想用
c#或java另写一个负责串口通信的模块,又感觉很烦不想那么弄,就想到了ANE。可惜以前也没弄过
ANE,现研究也感觉麻烦,主要也是因为自己很懒就想在网上找看看有没有现成的ANE,结果还真找到了。
废话说的有点多。
先放上 ANE地址 http://code.google.com/p/as3-arduino-connector/
虽然是老外写的,但是用起来还是挺容易挺方便的。
//-------------
首先把ANE添加到项目中:项目--属性--本机扩展--添加ANE
这样我们就可以使用了,ANE中就2个类,ArduinoConnector和ArduinoConnectorEvent。
我们只需要用ArduinoConnector就可以了,使用也比较简单
//创建arduino对象
var arduino:ArduinoConnector=new ArduinoConnector();
//监听socketData事件,当有数据传入时调用。
//当有时我们只需要写数据,而不需要读数据时,可以无视
arduino.addEventListener("socketData",socketData);
//与串口建立连接 "COM1":也可以说是串口标识,如果只与一个串口进行通信的话,一般都是COM1
//也可以 打开设备管理器,找到端口项,查看你的端口标识
arduino.connect("COM1",9600);
//发送数据
//commandData 就是你发送的数据,发送什么样的数据就是需要根据你的串口通信规范来定了
var strData:String="commandData";
arduino.writeString(strData);
//不要忘记flush()
arduino.flush();
当然除了可以发送字符串类型外,还可以用如下方式
arduino.writeByte(byte:uint);
arduino.writeBytes(bytesToSend:ByteArray);
具体使用哪种就根据自己的需求来定了。
还有一点需要注意的就是当使用完成后,记得销毁
arduino.dispose();
如果不销毁的话会有问题。
好像就这些了,再就是我用的时候一般都会使用单例模式。