1 | unsigned char pucCC3000_Rx_Buffer[40];
|
2 | socklen_t tRxPacketLength;
|
3 |
|
4 | volatile uint32_t ulCounter = 0, localPort = 0;
|
5 | uint32_t sockLen = 0;
|
6 | sockaddr socketAddr, from;
|
7 | sockaddr tSocketAddr;
|
8 | volatile int16_t ReturnValue;
|
9 |
|
10 | //Opening the Socket
|
11 |
|
12 | ulSocket2 = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
|
13 | if (ulSocket2 < 0)
|
14 | {
|
15 | rs232_printf("Error in Socket deskriptor\n");
|
16 | }
|
17 | __delay_cycles(10000000);
|
18 | memset(tSocketAddr.sa_data, 0, sizeof(sockaddr));
|
19 | tSocketAddr.sa_family = AF_INET;
|
20 | tSocketAddr.sa_data[0] = 15;
|
21 | tSocketAddr.sa_data[1] = 01;
|
22 | __delay_cycles(10000000);
|
23 |
|
24 | // rs232_printf("\nbind = %d\n",
|
25 | // bind(ulSocket2, (sockaddr*) &socketAddr, sizeof(sockaddr)));
|
26 |
|
27 | if (bind(ulSocket2, &tSocketAddr, sizeof(sockaddr)) != 0)
|
28 | {
|
29 | rs232_printf("Bind connection FAILED\n");
|
30 | }
|
31 | __delay_cycles(10000000);
|
32 |
|
33 | sockLen = sizeof(sockaddr);
|
34 | rs232_printf("sockLen = %d\n", sockLen);
|
35 | __delay_cycles(10000000);
|
36 | rs232_printf("calling recvfrom\n");
|
37 | //call recvfrom
|
38 | // ReturnValue = recvfrom(ulSocket2, pucCC3000_Rx_Buffer, CC3000_RX_BUFFER_SIZE, 0, &tSocketAddr, &tRxPacketLength);
|
39 | ReturnValue = recvfrom(ulSocket2, (char*)&pucCC3000_Rx_Buffer, sizeof(pucCC3000_Rx_Buffer), 0, &tSocketAddr, &tRxPacketLength);
|
40 | __delay_cycles(10000000);
|
41 | while(ReturnValue!=0)
|
42 | {
|
43 | __delay_cycles(10000000);
|
44 | rs232_printf("ReturnValue = %d\t calling recvfrom again!!\n", ReturnValue);
|
45 | ReturnValue = recvfrom(ulSocket2, pucCC3000_Rx_Buffer, CC3000_RX_BUFFER_SIZE, 0, &tSocketAddr, &tRxPacketLength);
|
46 | __delay_cycles(10000000);
|
47 | }
|