mbed同士の間に線をつなぐだけで通信確認できるやつです。

Dependencies:   mbed

Revision:
0:465b3bf421b0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Dec 04 12:24:05 2015 +0000
@@ -0,0 +1,56 @@
+//受信側
+//数字を送受信するだけならmbed間でやるときにはそれぞれputc,getcを使えばできるみたいだが、ヘッダで文字を送ろうとかすると上手くいかない,ちなみにパソコンと通信をするなら
+//printfじゃないとむり無理っぽい
+
+
+#include "mbed.h"
+#define BUFFER 30
+
+Serial rs485(p9,p10);
+Serial pc(USBTX,USBRX);
+PwmOut servo1(p21);
+PwmOut servo2(p22);
+DigitalOut Receiver(p5);
+
+int data[BUFFER];
+int servo1_data1[5];
+int servo2_data2[5];
+int num1,num2;
+
+
+int main(){
+rs485.baud(38400);
+Receiver = 0;
+servo1.period_ms(20);
+servo2.period_ms(20);
+while(1){
+        
+      int available_temp = 0;
+  int i = 0;
+  if((available_temp = rs485.readable()) == 1){
+   // Serial.println(available_temp);
+  wait_us(5);
+ for(i = 0;i < 4;i++){
+    data[i] = rs485.getc();
+    //pc.printf("%d\n\r",data[i]);
+ }
+    wait_us(1);
+  }
+  for(i = 0;i< 4;i++){
+    if(data[i] == 'A' && data[i + 1] != -1){
+  servo1.pulsewidth(0.00093 + ((float)data[i + 1] / 180.0) * (0.00235 - 0.00077));
+
+
+      wait_us(1);
+   //  pc.putc(data[i + 1]);
+}
+    if(data[i] == 'B' && data[i+1] != -1){
+       pc.printf("%d\n\r",data[i + 1]);
+               servo2.pulsewidth(0.00093 + ((float)data[i + 1] / 180.0) * (0.00235 - 0.00077));
+    //servo2.pulsewidth(((float)data[i + 1] / 180.0) * 0.01);
+  wait_us(1);
+//  Serial.println(data[i+1]);
+             }
+        }
+    }    
+}
\ No newline at end of file