Dependents:   Serialservo_01 nhk_2018_undercarry_test08 nhk_2018_undercarry_test09 nhk_2018_undercarry_test10 ... more

Revision:
3:42687d677641
Parent:
2:da6abd6afe26
--- a/Serialservo.cpp	Fri Nov 23 08:38:33 2018 +0000
+++ b/Serialservo.cpp	Sat Nov 24 02:27:41 2018 +0000
@@ -12,8 +12,8 @@
 void Serialservo::init(){
     ser.baud(115200);
     ser.format(8, Serial::Even, 1);
-    ser.attach(NULL, Serial::TxIrq);
-    switching = 0;
+    //ser.attach(NULL, Serial::TxIrq);
+    switching = 1;
     tx_data[0] = 0;
     tx_data[1] = 0;
     tx_data[2] = 0;
@@ -21,24 +21,26 @@
 
 //データ送信完了待ち関数
 void Serialservo::flush(){
+    //wait_ms(0.1);
     ser.attach(NULL, Serial::TxIrq);
     switching = 0;//受信モードに切替
 }
 
 //データ送信関数
 void Serialservo::transmission(){
-    switching = 1;
+    switching = 1;//送信モードに切り替え
     ser.putc(tx_data[0]);
     ser.putc(tx_data[1]);
     ser.putc(tx_data[2]);
-    ser.attach(flush, Serial::TxIrq);
+    wait(0.005);
+    //ser.attach(this,&Serialservo::flush, Serial::TxIrq);
 }
 
 //ポジション設定
 void Serialservo::move(char id,int pos){
     pos = (int)map((int)pos, 0, 270, 3500, 11500);
-    int temp1 = (value & 0x3F80) >> 7;
-    int temp2 = value & 0x7f;
+    int temp1 = (pos & 0x3F80) >> 7;
+    int temp2 = pos & 0x7f;
     tx_data[0] = ICS_POS_CMD | id;
     tx_data[1] = (unsigned char)temp1;
     tx_data[2] = (unsigned char)temp2;