![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
a
uart1.cpp@1:ed00e9c4ba6e, 2013-04-30 (annotated)
- Committer:
- akudohune
- Date:
- Tue Apr 30 09:06:57 2013 +0000
- Revision:
- 1:ed00e9c4ba6e
- Parent:
- 0:62ac378df546
ooo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
akudohune | 0:62ac378df546 | 1 | |
akudohune | 0:62ac378df546 | 2 | #include "mbed.h" |
akudohune | 0:62ac378df546 | 3 | #include "uart1.h" |
akudohune | 0:62ac378df546 | 4 | |
akudohune | 0:62ac378df546 | 5 | extern Serial device; |
akudohune | 1:ed00e9c4ba6e | 6 | extern BusOut mbedleds; |
akudohune | 1:ed00e9c4ba6e | 7 | //extern Serial pc; |
akudohune | 0:62ac378df546 | 8 | extern int direction; |
akudohune | 0:62ac378df546 | 9 | extern int Distance; |
akudohune | 0:62ac378df546 | 10 | extern int IR_found; |
akudohune | 1:ed00e9c4ba6e | 11 | extern int AveDistance; |
akudohune | 0:62ac378df546 | 12 | extern uint16_t ultrasonicVal[4]; |
akudohune | 0:62ac378df546 | 13 | |
akudohune | 1:ed00e9c4ba6e | 14 | uint8_t xbee; |
akudohune | 1:ed00e9c4ba6e | 15 | uint8_t data[4]; |
akudohune | 1:ed00e9c4ba6e | 16 | |
akudohune | 1:ed00e9c4ba6e | 17 | extern uint8_t data2[5]; |
akudohune | 0:62ac378df546 | 18 | |
akudohune | 0:62ac378df546 | 19 | void dev_rx() |
akudohune | 0:62ac378df546 | 20 | { |
akudohune | 1:ed00e9c4ba6e | 21 | static uint8_t count2 = 0; |
akudohune | 0:62ac378df546 | 22 | static uint8_t RecData[RECEIVE_DATA_NUM]; |
akudohune | 0:62ac378df546 | 23 | |
akudohune | 1:ed00e9c4ba6e | 24 | |
akudohune | 1:ed00e9c4ba6e | 25 | |
akudohune | 0:62ac378df546 | 26 | RecData[count2] = device.getc(); |
akudohune | 0:62ac378df546 | 27 | |
akudohune | 1:ed00e9c4ba6e | 28 | if(RecData[KEY2] == KEYCODE2){ |
akudohune | 0:62ac378df546 | 29 | |
akudohune | 0:62ac378df546 | 30 | count2++; |
akudohune | 0:62ac378df546 | 31 | }else{ |
akudohune | 0:62ac378df546 | 32 | count2 = 0; |
akudohune | 0:62ac378df546 | 33 | } |
akudohune | 0:62ac378df546 | 34 | if(count2 >= RECEIVE_DATA_NUM){ |
akudohune | 0:62ac378df546 | 35 | if(RecData[CHECK2] == CHECKCODE2){ |
akudohune | 1:ed00e9c4ba6e | 36 | //pc.printf("a"); |
akudohune | 1:ed00e9c4ba6e | 37 | //mbedleds = 15; |
akudohune | 0:62ac378df546 | 38 | data[0] = RecData[DATA1]; |
akudohune | 0:62ac378df546 | 39 | data[1] = RecData[DATA2]; |
akudohune | 0:62ac378df546 | 40 | data[2] = RecData[DATA3]; |
akudohune | 0:62ac378df546 | 41 | data[3] = RecData[DATA4]; |
akudohune | 1:ed00e9c4ba6e | 42 | //pc.printf("%d\n",data[2]); |
akudohune | 0:62ac378df546 | 43 | } |
akudohune | 0:62ac378df546 | 44 | count2 = 0; |
akudohune | 0:62ac378df546 | 45 | } |
akudohune | 0:62ac378df546 | 46 | } |
akudohune | 0:62ac378df546 | 47 | |
akudohune | 0:62ac378df546 | 48 | void dev_tx() |
akudohune | 0:62ac378df546 | 49 | { |
akudohune | 1:ed00e9c4ba6e | 50 | static uint8_t count = 0; |
akudohune | 0:62ac378df546 | 51 | static uint8_t SendData0[SEND_DATA_NUM]; |
akudohune | 0:62ac378df546 | 52 | |
akudohune | 0:62ac378df546 | 53 | if(count >= SEND_DATA_NUM){ |
akudohune | 1:ed00e9c4ba6e | 54 | xbee = data2[0]; |
akudohune | 0:62ac378df546 | 55 | SendData0[KEY] = KEYCODE; |
akudohune | 0:62ac378df546 | 56 | SendData0[DIRECTIONN] = direction; |
akudohune | 1:ed00e9c4ba6e | 57 | SendData0[DISTANCE] = AveDistance; |
akudohune | 0:62ac378df546 | 58 | SendData0[SONIC1_1] = ultrasonicVal[0]; |
akudohune | 0:62ac378df546 | 59 | SendData0[SONIC1_2] = (ultrasonicVal[0] >> 8); |
akudohune | 0:62ac378df546 | 60 | SendData0[SONIC2_1] = ultrasonicVal[1]; |
akudohune | 0:62ac378df546 | 61 | SendData0[SONIC2_2] = (ultrasonicVal[1] >> 8); |
akudohune | 0:62ac378df546 | 62 | SendData0[SONIC3_1] = ultrasonicVal[2]; |
akudohune | 0:62ac378df546 | 63 | SendData0[SONIC3_2] = (ultrasonicVal[2] >> 8); |
akudohune | 0:62ac378df546 | 64 | SendData0[SONIC4_1] = ultrasonicVal[3]; |
akudohune | 0:62ac378df546 | 65 | SendData0[SONIC4_2] = (ultrasonicVal[3] >> 8); |
akudohune | 1:ed00e9c4ba6e | 66 | SendData0[IR_FOUND] = IR_found; |
akudohune | 0:62ac378df546 | 67 | SendData0[XBEE] = xbee; |
akudohune | 0:62ac378df546 | 68 | SendData0[CHECK] = CHECKCODE; |
akudohune | 0:62ac378df546 | 69 | |
akudohune | 1:ed00e9c4ba6e | 70 | //pc.printf("%d\t%d\t%d\t%d\n",SendData0[DIRECTIONN],SendData0[DISTANCE],SendData0[IR_FOUND],SendData0[CHECK]); |
akudohune | 1:ed00e9c4ba6e | 71 | |
akudohune | 0:62ac378df546 | 72 | count = 0; |
akudohune | 0:62ac378df546 | 73 | } |
akudohune | 0:62ac378df546 | 74 | device.putc(SendData0[count]); |
akudohune | 0:62ac378df546 | 75 | |
akudohune | 0:62ac378df546 | 76 | count++; |
akudohune | 0:62ac378df546 | 77 | } |