voltando a versao de n aberturas e fechamentos de sockets data 19/09

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed EALib

Fork of header_main_publish by VZTECH

Committer:
klauss
Date:
Sat Sep 20 11:27:47 2014 +0000
Revision:
19:ab2088e0dec6
Parent:
0:4d17cd9c8f9d
colinas_02

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 0:4d17cd9c8f9d 1 #include "mbed.h"
klauss 0:4d17cd9c8f9d 2 #include <stdint.h>
klauss 0:4d17cd9c8f9d 3 #include "UART3Interrupt.h"
klauss 0:4d17cd9c8f9d 4 #include "configs.h"
klauss 0:4d17cd9c8f9d 5
klauss 0:4d17cd9c8f9d 6 char RXBuffer[DATA_SIZE]; // UART3 RX Buffer
klauss 0:4d17cd9c8f9d 7 //volatile uint8_t IntBuff[900]; // Interrupt Buffer
klauss 0:4d17cd9c8f9d 8 //static volatile uint8_t *RXHeadPtr; // Buffer Head Pointer
klauss 0:4d17cd9c8f9d 9 //static volatile uint8_t *RXTailPtr; // Buffer Tail Pointer
klauss 0:4d17cd9c8f9d 10 //static volatile uint16_t move = 0;
klauss 0:4d17cd9c8f9d 11 //uint8_t status = 0;
klauss 0:4d17cd9c8f9d 12 volatile uint16_t RX_c = 0;
klauss 0:4d17cd9c8f9d 13
klauss 0:4d17cd9c8f9d 14 void SerialRecvInterrupt (void) { // UART3 Serial Interrupt Handler
klauss 0:4d17cd9c8f9d 15
klauss 0:4d17cd9c8f9d 16 while ( LPC_UART3->LSR & (0<<1) ) {}
klauss 0:4d17cd9c8f9d 17 *(RXBuffer+RX_c) = LPC_UART3->RBR; // Receive data from UART3 RX
klauss 0:4d17cd9c8f9d 18
klauss 0:4d17cd9c8f9d 19 if (RXBuffer[RX_c] != RXBuffer[RX_c-1]) {
klauss 0:4d17cd9c8f9d 20 // led3 =!led3;
klauss 0:4d17cd9c8f9d 21 }
klauss 0:4d17cd9c8f9d 22
klauss 0:4d17cd9c8f9d 23 RX_c++;
klauss 0:4d17cd9c8f9d 24
klauss 0:4d17cd9c8f9d 25 if ( RX_c == 300 )
klauss 0:4d17cd9c8f9d 26 {
klauss 0:4d17cd9c8f9d 27 status = 1;
klauss 0:4d17cd9c8f9d 28 }
klauss 0:4d17cd9c8f9d 29
klauss 0:4d17cd9c8f9d 30 }
klauss 0:4d17cd9c8f9d 31
klauss 0:4d17cd9c8f9d 32 void RXFrameSync (void) {
klauss 0:4d17cd9c8f9d 33
klauss 0:4d17cd9c8f9d 34 // led1 = !led1;
klauss 0:4d17cd9c8f9d 35 // led4 = !led4;
klauss 0:4d17cd9c8f9d 36
klauss 0:4d17cd9c8f9d 37 RX_c = 0;
klauss 0:4d17cd9c8f9d 38 status = 0;
klauss 0:4d17cd9c8f9d 39 }
klauss 0:4d17cd9c8f9d 40
klauss 0:4d17cd9c8f9d 41
klauss 0:4d17cd9c8f9d 42
klauss 0:4d17cd9c8f9d 43
klauss 0:4d17cd9c8f9d 44
klauss 0:4d17cd9c8f9d 45
klauss 0:4d17cd9c8f9d 46
klauss 0:4d17cd9c8f9d 47
klauss 0:4d17cd9c8f9d 48
klauss 0:4d17cd9c8f9d 49
klauss 0:4d17cd9c8f9d 50
klauss 0:4d17cd9c8f9d 51
klauss 0:4d17cd9c8f9d 52
klauss 0:4d17cd9c8f9d 53
klauss 0:4d17cd9c8f9d 54 /*
klauss 0:4d17cd9c8f9d 55 void initRX (void) {
klauss 0:4d17cd9c8f9d 56
klauss 0:4d17cd9c8f9d 57 RXHeadPtr = IntBuff; // Initial state
klauss 0:4d17cd9c8f9d 58 RXHeadPtr = RXTailPtr;
klauss 0:4d17cd9c8f9d 59
klauss 0:4d17cd9c8f9d 60 }
klauss 0:4d17cd9c8f9d 61
klauss 0:4d17cd9c8f9d 62 void SerialRecvInterrupt (void) // UART3 Serial Interrupt Handler
klauss 0:4d17cd9c8f9d 63 {
klauss 0:4d17cd9c8f9d 64 static uint8_t data = 0;
klauss 0:4d17cd9c8f9d 65 while ( LPC_UART3->LSR &= (0<<1) ) {}
klauss 0:4d17cd9c8f9d 66 // *(RXBuffer+idx) = LPC_UART3->RBR; Receive data from UART3 RX
klauss 0:4d17cd9c8f9d 67
klauss 0:4d17cd9c8f9d 68 data = LPC_UART3->RBR; // Receive data from UART3 RX
klauss 0:4d17cd9c8f9d 69
klauss 0:4d17cd9c8f9d 70 RXHeadPtr = &data;
klauss 0:4d17cd9c8f9d 71
klauss 0:4d17cd9c8f9d 72 RXHeadPtr++;
klauss 0:4d17cd9c8f9d 73 move++;
klauss 0:4d17cd9c8f9d 74
klauss 0:4d17cd9c8f9d 75 if ( RXHeadPtr == (IntBuff+899) )
klauss 0:4d17cd9c8f9d 76 {
klauss 0:4d17cd9c8f9d 77 RXHeadPtr = IntBuff;
klauss 0:4d17cd9c8f9d 78 }
klauss 0:4d17cd9c8f9d 79
klauss 0:4d17cd9c8f9d 80 }
klauss 0:4d17cd9c8f9d 81
klauss 0:4d17cd9c8f9d 82 void RcvRX( void ) {
klauss 0:4d17cd9c8f9d 83
klauss 0:4d17cd9c8f9d 84 static uint16_t p = 0;
klauss 0:4d17cd9c8f9d 85 static uint8_t data = 0;
klauss 0:4d17cd9c8f9d 86
klauss 0:4d17cd9c8f9d 87 if ( move ) {
klauss 0:4d17cd9c8f9d 88
klauss 0:4d17cd9c8f9d 89 data = *RXTailPtr;
klauss 0:4d17cd9c8f9d 90
klauss 0:4d17cd9c8f9d 91 RXBuffer[p] = data;
klauss 0:4d17cd9c8f9d 92 RXTailPtr++;
klauss 0:4d17cd9c8f9d 93 move--;
klauss 0:4d17cd9c8f9d 94 p++;
klauss 0:4d17cd9c8f9d 95 }
klauss 0:4d17cd9c8f9d 96
klauss 0:4d17cd9c8f9d 97 if ( RXTailPtr == (IntBuff+899) ) {
klauss 0:4d17cd9c8f9d 98 RXTailPtr = IntBuff;
klauss 0:4d17cd9c8f9d 99 }
klauss 0:4d17cd9c8f9d 100
klauss 0:4d17cd9c8f9d 101 if ( p == 300 ) {
klauss 0:4d17cd9c8f9d 102 processRX = 1;
klauss 0:4d17cd9c8f9d 103 p = 0;
klauss 0:4d17cd9c8f9d 104 }
klauss 0:4d17cd9c8f9d 105
klauss 0:4d17cd9c8f9d 106 }
klauss 0:4d17cd9c8f9d 107 */