
RS485の相互通信のレシーバです。 まだ製作中です。
Dependencies: mbed
main.cpp@0:c963f91bdd23, 2015-11-24 (annotated)
- Committer:
- YusukeWakuta
- Date:
- Tue Nov 24 15:49:12 2015 +0000
- Revision:
- 0:c963f91bdd23
- Child:
- 1:41cb97261876
RS485?????????????; ????????
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 | |
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 | } |