相互通信動くやつ、レシーバー
Dependencies: mbed ADXL345_I2C
main.cpp
- Committer:
- taurin
- Date:
- 2015-12-04
- Revision:
- 0:fafac0045ad3
- Child:
- 1:563b7d0b896f
File content as of revision 0:fafac0045ad3:
//相互通信確認用
#include "mbed.h"
#define BUFFER 30
Serial rs485(p9,p10);
Serial pc(USBTX,USBRX);
DigitalOut Receiver(p5);
PwmOut servo1(p21);
PwmOut servo2(p22);
int counter = 0;
int servo_deg1 = 0;
int servo_deg2 = 0;
void rs485_rx()
{
int rec_data = rs485.getc();
switch(rec_data){
case 'A':
servo_deg1 = rs485.getc();
pc.printf("counter1:%d\n\r",servo_deg1);
break;
case 'B':
servo_deg2 = rs485.getc();
pc.printf("counter2:%d\n\r",servo_deg2);
break;
case 'C':
Receiver = 1;
wait_ms(1);
rs485.putc(counter++);
wait_ms(1);
Receiver = 0;
break;
default:
wait_us(5);
pc.printf("%d\n\r",rec_data);
}
}
int main()
{
Receiver = 0;
pc.printf("Receiver\n\r");
rs485.baud(38400);
servo1.period_ms(20);
servo2.period_ms(20);
rs485.attach(rs485_rx, Serial::RxIrq);
while(1){
servo1.pulsewidth(0.00093 + (servo_deg1 / 180.0) * (0.00235 - 0.00077));
servo2.pulsewidth(0.00093 + (servo_deg2 / 180.0) * (0.00235 - 0.00077));
}
}