最近公司的項目中需要用到串口通信,項目是用基於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();
如果不銷毀的話會有問題。
好像就這些了,再就是我用的時候一般都會使用單例模式。
