RS485の相互通信のレシーバです。 まだ製作中です。

Dependencies:   mbed

Committer:
YusukeWakuta
Date:
Tue Nov 24 15:49:12 2015 +0000
Revision:
0:c963f91bdd23
Child:
1:41cb97261876
RS485?????????????; ????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
YusukeWakuta 0:c963f91bdd23 1 //相互通信確認用
YusukeWakuta 0:c963f91bdd23 2 #include "mbed.h"
YusukeWakuta 0:c963f91bdd23 3 #define BUFFER 30
YusukeWakuta 0:c963f91bdd23 4
YusukeWakuta 0:c963f91bdd23 5 Serial rs485(p9,p10);
YusukeWakuta 0:c963f91bdd23 6 Serial pc(USBTX,USBRX);
YusukeWakuta 0:c963f91bdd23 7 DigitalOut Receiver(p5);
YusukeWakuta 0:c963f91bdd23 8
YusukeWakuta 0:c963f91bdd23 9 int data[BUFFER];
YusukeWakuta 0:c963f91bdd23 10 int num1,num2;
YusukeWakuta 0:c963f91bdd23 11
YusukeWakuta 0:c963f91bdd23 12 int main()
YusukeWakuta 0:c963f91bdd23 13 {
YusukeWakuta 0:c963f91bdd23 14 rs485.baud(38400);
YusukeWakuta 0:c963f91bdd23 15 while(1) {
YusukeWakuta 0:c963f91bdd23 16 int available_temp = 0;
YusukeWakuta 0:c963f91bdd23 17 int i = 0;
YusukeWakuta 0:c963f91bdd23 18 Receiver = 0;
YusukeWakuta 0:c963f91bdd23 19 if((available_temp = rs485.readable()) == 1) {
YusukeWakuta 0:c963f91bdd23 20 wait_us(5);
YusukeWakuta 0:c963f91bdd23 21 for(i = 0; i < 4; i++) {
YusukeWakuta 0:c963f91bdd23 22 data[i] = rs485.getc();
YusukeWakuta 0:c963f91bdd23 23 }
YusukeWakuta 0:c963f91bdd23 24 wait_us(1);
YusukeWakuta 0:c963f91bdd23 25 }
YusukeWakuta 0:c963f91bdd23 26 for(i = 0; i< 4; i++) {
YusukeWakuta 0:c963f91bdd23 27 if(data[i] == 'A' && data[i + 1] != -1) {
YusukeWakuta 0:c963f91bdd23 28 Receiver = 1;
YusukeWakuta 0:c963f91bdd23 29 rs485.putc(100);
YusukeWakuta 0:c963f91bdd23 30 wait_us(1);
YusukeWakuta 0:c963f91bdd23 31 }
YusukeWakuta 0:c963f91bdd23 32 if(data[i] == 'B' && data[i+1] != -1) {
YusukeWakuta 0:c963f91bdd23 33 Receiver = 0;
YusukeWakuta 0:c963f91bdd23 34 wait_us(1);
YusukeWakuta 0:c963f91bdd23 35 }
YusukeWakuta 0:c963f91bdd23 36 }
YusukeWakuta 0:c963f91bdd23 37 }
YusukeWakuta 0:c963f91bdd23 38 }