目次

2009年2月9日月曜日

moxaに書き込むコード 09' その[1]

お久しぶりです。
なんだかんだで、Muliusのソフトウェアは完成しました。あとはハードウェアの作成です!(ソフトウェアが最終的にどんなものになったかは後日)

しばらくぶりに、moxaと格闘中。まずは、すれ違った人から、何度も値を受け取らないようにするため、checkというbooleanに使える変数を用意したコード。

これはA用コード
//for A

serialInit(9600);
pinMode(0, true);
digitalWrite(0,true);
ain1 = analogRead(1);
radioInit(0xDDDD, 0, 11, 3);

var checkb= 1;
var checkc= 1;
var checkd= 1;

while(true) {

function onRadioReceive(seq,src,pan,data,rss) {
if (data == 'b' && checka == 1){
serialSend("a"+"\r\n");
checkb = 0;
checkc = 1;
checkd = 1;
}else if(data == 'c' && checkb == 1){
serialSend("c"+"\r\n");
checkb = 1;
checkc = 0;
checkd = 1;

}else if(data == 'd' && checkd == 1){
serialSend("d"+"\r\n");
checka = 1;
checkb = 1;
checkd = 0;

}else{
}

}
radioSend(0xFFFF, 'a');
}


これはB用
//for B

serialInit(9600);
pinMode(0, true);
digitalWrite(0,true);
ain1 = analogRead(1);
radioInit(0xDDDD, 0, 11, 3);

var checka= 1;
var checkc= 1;
var checkd= 1;

while(true) {

function onRadioReceive(seq,src,pan,data,rss) {
if (data == 'a' && checka == 1){
serialSend("a"+"\r\n");
checka = 0;
checkc = 1;
checkd = 1;
}else if(data == 'c' && checkb == 1){
serialSend("c"+"\r\n");
checka = 1;
checkc = 0;
checkd = 1;

}else if(data == 'd' && checkd == 1){
serialSend("d"+"\r\n");
checka = 1;
checkc = 1;
checkd = 0;

}else{
}

}
radioSend(0xFFFF, 'b');
}



これはC用
//for C

serialInit(9600);
pinMode(0, true);
digitalWrite(0,true);
ain1 = analogRead(1);
radioInit(0xDDDD, 0, 11, 3);

var checka= 1;
var checkb= 1;
var checkd= 1;

while(true) {

function onRadioReceive(seq,src,pan,data,rss) {
if (data == 'a' && checka == 1){
serialSend("a"+"\r\n");
checka = 0;
checkb = 1;
checkd = 1;
}else if(data == 'b' && checkb == 1){
serialSend("b"+"\r\n");
checka = 1;
checkb = 0;
checkd = 1;

}else if(data == 'd' && checkd == 1){
serialSend("d"+"\r\n");
checka = 1;
checkb = 1;
checkd = 0;

}else{
}

}
radioSend(0xFFFF, 'c');
}


これはD用
//for D

serialInit(9600);
pinMode(0, true);
digitalWrite(0,true);
ain1 = analogRead(1);
radioInit(0xDDDD, 0, 11, 3);

var checka= 1;
var checkb= 1;
var checkc= 1;

while(true) {

function onRadioReceive(seq,src,pan,data,rss) {
if (data == 'a' && checka == 1){
serialSend("a"+"\r\n");
checka = 0;
checkb = 1;
checkc = 1;
}else if(data == 'b' && checkb == 1){
serialSend("b"+"\r\n");
checka = 1;
checkb = 0;
checkc = 1;

}else if(data == 'c' && checkd == 1){
serialSend("c"+"\r\n");
checka = 1;
checkb = 1;
checkc = 0;

}else{
}

}
radioSend(0xFFFF, 'd');
}


いまはmoxaが2台しかないので、aとbしか受け取っていないのですが、ターミナルから見てみるとこんな感じ。

0 件のコメント: