send RS485 for testing Delta Sevro

Dependencies:   mbed

Fork of RS4851121R by albatross

Committer:
WeberYang
Date:
Fri Apr 13 06:29:35 2018 +0000
Revision:
2:bbb217e1219e
Parent:
1:41cb97261876
Child:
3:48b96c8c25fa
Child:
4:ee9afe2292fd
send hex 010302000002C5B3 return 01030400010000ABF3

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 2:bbb217e1219e 9 unsigned 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
YusukeWakuta 0:c963f91bdd23 13
WeberYang 2:bbb217e1219e 14 char data[BUFFER];
YusukeWakuta 0:c963f91bdd23 15 int num1,num2;
WeberYang 2:bbb217e1219e 16 int idx;
WeberYang 2:bbb217e1219e 17 bool flagrec = false;
WeberYang 2:bbb217e1219e 18 void pc_rx(){
WeberYang 2:bbb217e1219e 19 //pc.putc(rs485.getc());
WeberYang 2:bbb217e1219e 20 int index = 0;
WeberYang 2:bbb217e1219e 21
WeberYang 2:bbb217e1219e 22 Receiver = 0;
WeberYang 2:bbb217e1219e 23 // while(rs485.readable() || (rx != '\n')) {
WeberYang 2:bbb217e1219e 24 // while(flagrec) {
WeberYang 2:bbb217e1219e 25 num1 = rs485.readable();
WeberYang 2:bbb217e1219e 26 for(idx= 0; rs485.readable(); idx++)
WeberYang 2:bbb217e1219e 27 {
WeberYang 2:bbb217e1219e 28 data[idx]= rs485.getc();
WeberYang 2:bbb217e1219e 29
WeberYang 2:bbb217e1219e 30 }
WeberYang 2:bbb217e1219e 31
WeberYang 2:bbb217e1219e 32 data[++idx]= '\0';
WeberYang 2:bbb217e1219e 33 for(idx= 0; data[idx] != '\0'; idx++)
WeberYang 2:bbb217e1219e 34 pc.putc(data[idx]);
WeberYang 2:bbb217e1219e 35 flagrec = true;
WeberYang 2:bbb217e1219e 36 // }
WeberYang 2:bbb217e1219e 37 // pc.printf("finish!");
YusukeWakuta 0:c963f91bdd23 38
taurin 1:41cb97261876 39 }
taurin 1:41cb97261876 40
YusukeWakuta 0:c963f91bdd23 41 int main()
YusukeWakuta 0:c963f91bdd23 42 {
WeberYang 2:bbb217e1219e 43 rs485.baud(115200);
WeberYang 2:bbb217e1219e 44 pc.baud(115200);
WeberYang 2:bbb217e1219e 45 pc.printf("1");
taurin 1:41cb97261876 46 Receiver=0;
WeberYang 2:bbb217e1219e 47 rs485.attach(pc_rx, Serial::RxIrq);
WeberYang 2:bbb217e1219e 48 while(1)
WeberYang 2:bbb217e1219e 49 {
WeberYang 2:bbb217e1219e 50 // pc.printf("test");
WeberYang 2:bbb217e1219e 51 wait_ms(10);
WeberYang 2:bbb217e1219e 52 if (flagrec)
WeberYang 2:bbb217e1219e 53 {
WeberYang 2:bbb217e1219e 54 flagrec = false;
WeberYang 2:bbb217e1219e 55 pc.putc(num1);//data[idx]);
WeberYang 2:bbb217e1219e 56 }
WeberYang 2:bbb217e1219e 57 }
YusukeWakuta 0:c963f91bdd23 58 }