Dependents: Serialservo_01 nhk_2018_undercarry_test08 nhk_2018_undercarry_test09 nhk_2018_undercarry_test10 ... more
Diff: Serialservo.cpp
- 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;