久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> Arduino >> 瀏覽文章

Arduino與Flash的連接

作者:未知   來(lái)源:互聯(lián)網(wǎng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年07月31日   【字體:

 Arduino與Flash的連接需要一個(gè)serproxy的程序

serproxy.cfg文件需要修改,用記事本打開(kāi)如下
# Config file for serproxy
# See serproxy's README file for documentation
 
# Comm ports used
comm_ports=5       //這個(gè)是你的Arduino連接到電腦上后對(duì)應(yīng)的com端口號(hào),如果大于10,要修改到小于10的
 
# Default settings
comm_baud=9600
comm_databits=8
comm_stopbits=1
comm_parity=none
 
# Idle time out in seconds
timeout=300
 
# Port 1 settings (ttyS0)
net_port5=5333                   //這個(gè)是發(fā)送到flash端的號(hào)碼,要與Flash端arduino.as文件中相對(duì)應(yīng)
————————————————————————————————————————————————
在Arduino端發(fā)送需要代碼如下:
 
   Serial.print(變量名);
 
   Serial.print(0,BYTE);//以發(fā)送空字節(jié)結(jié)束
 
——————————————————————————————————
 
falsh端接受首先需要Arduino.as文件,然后flash里需要代碼如下(現(xiàn)在還只搞定了actionscript2,還沒(méi)有搞定actionscript3) 
 
 
 
var a:Arduino = new Arduino(5333);
 
a.addEventListener("onConnect",aListener);
 
a.addEventListener("onConnectError",aListener);
 
a.addEventListener("onDisconnect",aListener);
 
a.addEventListener("onReceiveData",aListener);
 
//接收Arduino的數(shù)值
 
aListener.onReceiveData = function(evtObj:Object){
 
    //取得Arduino的值
 
    var ArduinoInt = evtObj.data
 
    artm=ArduinoInt;  //將來(lái)自arduino端的數(shù)據(jù)賦值給變量artm
 
    }
 
 
 
----------------------------------------------------------------
上次的程序是點(diǎn)擊按鈕時(shí)來(lái)觸發(fā)arduino做一些動(dòng)作以及接受數(shù)據(jù)的,這次測(cè)試一下讓arduino連續(xù)的發(fā)送數(shù)據(jù),讓flash來(lái)接受,并通過(guò)在flash的文本框里實(shí)時(shí)顯示。
——————————————————————————————
arduino端的程序
 
#define LED_PIN 13
#define TOGGLE_LED_STATE 't'
#define msgstop 's'
#define EOL_DELIMITER "$"
int incoming = 0;
int i=0;
int in=0;
 
void setup()
{
    Serial.begin(9600);
    Serial.print("READY");
    Serial.print(EOL_DELIMITER);
}
void loop()
{
if(Serial.available() > 0)       //如果收到數(shù)據(jù)
{
incoming = Serial.read();
                if(incoming== TOGGLE_LED_STATE)   //如果收到的是開(kāi)始代碼
                in=1;                            //變量in=1;
                if(incoming==msgstop)            //如果收到的是結(jié)束代碼
                in=0;                           //in=0;
        }
if(in==1)
{  Serial.print(i);            //發(fā)送一個(gè)變化的值i
        Serial.print(EOL_DELIMITER);  //發(fā)送結(jié)束字符
                   i++;                             //值i遞增1
           }
    else
     {                  Serial.print("off ");         //如果受收到結(jié)束代碼,發(fā)送off
        Serial.print(EOL_DELIMITER);
     }
   delay(100);                            //沒(méi)100毫秒發(fā)一個(gè)                                
}
————————————————————————————————————————
以下是flash 端,flash端分兩部分,一部分是getshu.as類里面的程序,如下:
package 
{
import flash.events.Event;
import flash.display.Sprite;
import flash.display.MovieClip;;
import flash.net.Socket;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
import flash.utils.Endian;
import flash.events.MouseEvent;
    
public class getshu extends MovieClip
{
            
         public static var ardmsg:String;
 
private static const TOGGLE_LED_STATE:String = "t";
        private static const msgstop:String = "s";
private static const EOL_DELIMITER:String = "$";
 
private var _socket:Socket;
 
private var _proxyAddress:String = "127.0.0.1";
 
private var _proxyPort:uint = 5333;
 
public function getshu()
{
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
 
private function onAddedToStage(event:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
 
var s:Sprite = new Sprite();
 
s.graphics.beginFill(0x00FF00);
s.graphics.drawRect(0,0, 200,100);
s.graphics.endFill();
 
addChild(s);
 
//position it
s.x = 50;
s.y = 50;
 
s.addEventListener(MouseEvent.CLICK, onClick);
            
_socket = new Socket();
 
_socket.addEventListener( Event.CONNECT, onConnect );
 
_socket.addEventListener( Event.CLOSE, onClose );
 
_socket.addEventListener( ProgressEvent.SOCKET_DATA, onSocketData );
 
_socket.addEventListener( IOErrorEvent.IO_ERROR, onIOError );
 
_socket.addEventListener( SecurityErrorEvent.SECURITY_ERROR, onSecurityError );
 
_socket.endian = Endian.LITTLE_ENDIAN;
 
_socket.connect(_proxyAddress, _proxyPort);
}
 
private function onConnect(event:Event):void
{
trace("Socket Connected");
}
 
private var buffer:String = "";
 
private function onSocketData(event:ProgressEvent):void
{
var data:String = _socket.readUTFBytes( _socket.bytesAvailable );
 
buffer += data;
 
var msg:String;
var index:int;
 
while((index = buffer.indexOf(EOL_DELIMITER)) > -1)
{
msg = buffer.substring(0, index);
 
buffer = buffer.substring(index + 1);
 
trace("Message Received from Arduino : " + msg);
}
ardmsg=msg;
 
}
          private var i:Number;
private function onClick(event:MouseEvent):void
{
trace("onClick");
             
 
if(!_socket.connected)
{
trace("You must be connected to send a command to the Arduino.");
return;
}
 
//下面是點(diǎn)擊按鈕時(shí)發(fā)送開(kāi)始字符,再點(diǎn)擊發(fā)送結(jié)束字符
if(i==0)
{
_socket.writeUTFBytes(TOGGLE_LED_STATE);
i=1;
}
else
{
_socket.writeUTFBytes(msgstop);
i=0;
}
_socket.flush();
}
private function onClose(event:Event):void
{
trace("Socket Closed");
}
private function onIOError(event:IOErrorEvent):void
{
trace("IOErrorEvent : " + event.text);
}
 
private function onSecurityError(event:SecurityErrorEvent):void
{
trace("SecurityErrorEvent : " + event.text);
}
}
}
——————————————————————————————
下面是flash里的代碼,建立一個(gè)動(dòng)態(tài)文本框,命名為armsg,下面是幀代碼
addEventListener(Event.ENTER_FRAME,onEnterFrame);
 
 function onEnterFrame(event:Event):void{
 armsg.text="";
 armsg.text=getshu.ardmsg;
 }
——————————————————————————
結(jié)果,點(diǎn)擊按鈕,文本框里開(kāi)始顯示動(dòng)態(tài)變化的數(shù)字,來(lái)自于arduino
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 国产福利91精品一区二区三区 | 在线观看中文字幕一区二区 | 亚洲精品美女 | 国产在线永久免费 | 国产高清免费 | 成人免费视频一区 | 免费观看的av | 日韩资源 | 欧美a级成人淫片免费看 | 中文字幕日韩欧美一区二区三区 | tube国产 | 欧美成人激情 | 国产精品久久久久久238 | 99热热精品 | 欧美影院久久 | www.日本在线 | 日韩成人免费视频 | 天天综合日日夜夜 | 亚洲欧美中文字幕在线观看 | 亚洲美女一区 | 理论片午午伦夜理片影院 | 国产小视频在线 | 免费观看一级特黄欧美大片 | 国产成人免费在线 | 久久精品美女 | 毛片一区二区三区 | 国产91网址| 久久99国产精一区二区三区 | 九九热在线视频 | 99re在线视频观看 | 久久久久久久网 | 亚洲日韩视频 | 久久久久久免费毛片精品 | 欧美a区| 国产精品久久久久久久7777 | 国产色 | 久久一区二区免费视频 | 一级黄色影片在线观看 | 一区二区三区视频免费看 | 国产亚洲精品精品国产亚洲综合 | 天天爱爱网 |