Part3.1.3 傳送一筆資料
#include <SoftwareSerial.h>
SoftwareSerial BT(3,2); // RX, TX
byte cmd;
float a,b,c,d,e; //此代表待傳送的五個變數
byte Data[16];
unsigned long a0,a1,a2,a3,a4;
void setup() {
Serial.begin(9600);
BT.begin(38400);//bluetooth baud rate
}
void loop() {
a = -3.14159;
bt();
delay(10); //傳送速度極限大約10ms 一組資料
}
void bt(){
if(a>=0){
a0 = 3 ; //a0表正負號
a1 = int(a) / 1 ; //a1表整數部分
a2 = long(a*100000)%100000; //a2表浮點數部分
}
if(a<0){
a0 = 1 ;
a1 = int(-1 * a) / 1 ;
a2 = long(-1*a*100000)%100000;
}
cmd = BT.read();
Data[0]='a';
Data[1]=a0;
Data[2]=a1/256;
Data[3]=a1%256;
Data[4]='b';
Data[5]=a2/65536;
Data[6]=a2%65536/256;
Data[7]=a2%256;
if (cmd == 49){
for(int j=0;j<9;j++){
BT.write(Data[j]);
}
cmd=0;
}
}