send RS485 for testing Delta Sevro

Dependencies:   mbed

Fork of RS4851121R by albatross

Committer:
WeberYang
Date:
Fri Apr 13 09:26:05 2018 +0000
Revision:
4:ee9afe2292fd
Parent:
2:bbb217e1219e
let rx data buffer into global

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
WeberYang 2:bbb217e1219e 5 Serial rs485(PA_9,PA_10);//,115200);//(p9,p10);
YusukeWakuta 0:c963f91bdd23 6 Serial pc(USBTX,USBRX);
WeberYang 2:bbb217e1219e 7 DigitalOut Receiver(D7);//(p5);
WeberYang 2:bbb217e1219e 8 #define LENG 31 //0x42 + 31 bytes equal to 32 bytes
WeberYang 4:ee9afe2292fd 9 char buf[LENG];
WeberYang 2:bbb217e1219e 10 //attributes - program variables
WeberYang 2:bbb217e1219e 11 char stringOverSerialBuffer[41]; // buffer to store received string over pc
WeberYang 2:bbb217e1219e 12 int newCommandFlag = 0; // flag for ISR
WeberYang 4:ee9afe2292fd 13 int i;
WeberYang 2:bbb217e1219e 14 char data[BUFFER];
YusukeWakuta 0:c963f91bdd23 15 int num1,num2;
WeberYang 2:bbb217e1219e 16 int idx;
WeberYang 4:ee9afe2292fd 17 int len = 0;
WeberYang 2:bbb217e1219e 18 bool flagrec = false;
WeberYang 2:bbb217e1219e 19 void pc_rx(){
WeberYang 4:ee9afe2292fd 20 //pc.putc(rs485.getc());
WeberYang 2:bbb217e1219e 21
WeberYang 2:bbb217e1219e 22 Receiver = 0;
WeberYang 4:ee9afe2292fd 23 for(idx= 0; rs485.readable(); idx++){
WeberYang 4:ee9afe2292fd 24 data[idx]= rs485.getc();
WeberYang 4:ee9afe2292fd 25 buf[len] = data[idx];
WeberYang 4:ee9afe2292fd 26 len++;
WeberYang 4:ee9afe2292fd 27 }
WeberYang 4:ee9afe2292fd 28 if (len>8) flagrec = true;
WeberYang 2:bbb217e1219e 29
taurin 1:41cb97261876 30 }
taurin 1:41cb97261876 31
YusukeWakuta 0:c963f91bdd23 32 int main()
YusukeWakuta 0:c963f91bdd23 33 {
WeberYang 2:bbb217e1219e 34 rs485.baud(115200);
WeberYang 2:bbb217e1219e 35 pc.baud(115200);
taurin 1:41cb97261876 36 Receiver=0;
WeberYang 2:bbb217e1219e 37 rs485.attach(pc_rx, Serial::RxIrq);
WeberYang 4:ee9afe2292fd 38 while(1){
WeberYang 2:bbb217e1219e 39 wait_ms(10);
WeberYang 4:ee9afe2292fd 40 if (flagrec){
WeberYang 2:bbb217e1219e 41 flagrec = false;
WeberYang 4:ee9afe2292fd 42
WeberYang 4:ee9afe2292fd 43 for(i= 0; i<len; i++){
WeberYang 4:ee9afe2292fd 44 pc.putc(buf[i]);
WeberYang 2:bbb217e1219e 45 }
WeberYang 4:ee9afe2292fd 46 len = 0;
WeberYang 2:bbb217e1219e 47 }
WeberYang 4:ee9afe2292fd 48 }
YusukeWakuta 0:c963f91bdd23 49 }