
send RS485 for testing Delta Sevro
Fork of RS4851121R by
main.cpp@2:bbb217e1219e, 2018-04-13 (annotated)
- 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?
User | Revision | Line number | New 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 | } |