1.使用ane请在库连接选项内添加 ArduinoConnector.ane文件;
2.实例运行会遇到
ArgumentError: Error #3500: The extension context does not have a method with the name setupPort.
at flash.external::ExtensionContext/_call()
at flash.external::ExtensionContext/call()
at com.quetwo.Arduino::ArduinoConnector/connect()[I:\Work\Clients\DirectAthletics\As3ArduinoConnector\trunk\as3-library\Windows-x86\src\com\quetwo\Arduino\ArduinoConnector.as:102]
at com::Main()[F:\Project\demo1_1\com\Main.as:21]
at runtime::ContentPlayer/loadInitialContent()
at runtime::ContentPlayer/playRawContent()
at runtime::ContentPlayer/playContent()
at runtime::AppRunner/run()
at ADLAppEntry/run()
at global/runtime::ADLEntry()
这个问题,原因是缺少两个DLL文件,将两个文件放到 C:\Windows\System32(32位系统)、C:\Windows\SysWOW64(64位系统)下,即可正常运行。
3.dll文件名称:
pthreadgc2.dll ;
libgcc_s_dw2-1_jb51.dll 。
4.演示代码:
package { import com.Main; import com.event.MyEvent; import com.quetwo.Arduino.ArduinoConnector; import fl.transitions.easing.Strong; import flash.display.Sprite; import flash.events.Event; public class MyComMessenger extends Sprite { var arduino:ArduinoConnector; private var comPort:String; private var baud:Number; public function MyComMessenger() { super(); comPort = "com3"; baud = 9600; arduino = new ArduinoConnector(); arduino.addEventListener("socketData", onGetData); arduino.connect(comPort, baud); } private function onGetData(e:Event):void { var str:String = arduino.readBytesAsString(); trace(str); trace("接受到串口通讯报文。"); } private function onSendShort(message:String):void { for (var i:int = 0; i < message.length; i=i + 2) { arduino.writeByte(uint("0x" + message.substr(i, 2))); } trace("串口通信模块: 发送串口命令: " + message); arduino.flush(); } public function dispose():void { arduino.dispose(); arduino.removeEventListener("socketData", onGetData); arduino = null; } } }