Projekt na płytce k64f

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of Ethernet_UDP_server by NXP

Committer:
majster
Date:
Sat Sep 15 19:04:52 2018 +0000
Revision:
1:bc203220ef47
Parent:
0:9108b822f763
projekt

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mareikeFSL 0:9108b822f763 1 #include "mbed.h"
mareikeFSL 0:9108b822f763 2 #include "EthernetInterface.h"
mareikeFSL 0:9108b822f763 3
mareikeFSL 0:9108b822f763 4
mareikeFSL 0:9108b822f763 5
majster 1:bc203220ef47 6 const int PORT = 80; //port
mareikeFSL 0:9108b822f763 7
majster 1:bc203220ef47 8 static const char* SERVER_IP = "192.168.1.101"; //IP serwera
majster 1:bc203220ef47 9 static const char* MASK = "255.255.255.0"; //maska
mareikeFSL 0:9108b822f763 10 static const char* GATEWAY = "192.168.1.1"; //gateway
mareikeFSL 0:9108b822f763 11
mareikeFSL 0:9108b822f763 12
majster 1:bc203220ef47 13
majster 1:bc203220ef47 14 Serial pc(USBTX, USBRX); //PC interface
mareikeFSL 0:9108b822f763 15
majster 1:bc203220ef47 16 DigitalOut RedLed(LED1);
majster 1:bc203220ef47 17 //DigitalOut GreenLed(LED2);
majster 1:bc203220ef47 18 DigitalOut BlueLed(LED3);
majster 1:bc203220ef47 19 InterruptIn Switch1(SW2); // przycisk lewo
majster 1:bc203220ef47 20 InterruptIn Switch2(SW3); // przycisk od prawy
mareikeFSL 0:9108b822f763 21
mareikeFSL 0:9108b822f763 22
mareikeFSL 0:9108b822f763 23
mareikeFSL 0:9108b822f763 24
majster 1:bc203220ef47 25 void init_usb(void); //init usb
majster 1:bc203220ef47 26 void init_eth(void); //init Ethernet
mareikeFSL 0:9108b822f763 27
mareikeFSL 0:9108b822f763 28 void init_usb(void)
mareikeFSL 0:9108b822f763 29 {
majster 1:bc203220ef47 30 //pc.baud(9600); //baud
mareikeFSL 0:9108b822f763 31
majster 1:bc203220ef47 32 }
mareikeFSL 0:9108b822f763 33
majster 1:bc203220ef47 34
mareikeFSL 0:9108b822f763 35
majster 1:bc203220ef47 36 void blink()
mareikeFSL 0:9108b822f763 37 {
majster 1:bc203220ef47 38 RedLed=!RedLed;
mareikeFSL 0:9108b822f763 39
majster 1:bc203220ef47 40 }
majster 1:bc203220ef47 41 void blink1()
majster 1:bc203220ef47 42 {
majster 1:bc203220ef47 43 BlueLed=!BlueLed;
mareikeFSL 0:9108b822f763 44
majster 1:bc203220ef47 45 }
mareikeFSL 0:9108b822f763 46 int main(void)
mareikeFSL 0:9108b822f763 47 {
majster 1:bc203220ef47 48 char c;
majster 1:bc203220ef47 49 // int licznik;
majster 1:bc203220ef47 50 // licznik=0;
majster 1:bc203220ef47 51 // int a;
majster 1:bc203220ef47 52 // int b;
majster 1:bc203220ef47 53 //int d[2]={a,b};
majster 1:bc203220ef47 54
majster 1:bc203220ef47 55 //init_usb(); //init usb
majster 1:bc203220ef47 56
majster 1:bc203220ef47 57 EthernetInterface eth;
majster 1:bc203220ef47 58 eth.init(SERVER_IP, MASK, GATEWAY);
majster 1:bc203220ef47 59 eth.connect();
majster 1:bc203220ef47 60
majster 1:bc203220ef47 61 pc.printf("\nIP Address is %s\n\r", eth.getIPAddress());
mareikeFSL 0:9108b822f763 62
majster 1:bc203220ef47 63 TCPSocketServer server;
majster 1:bc203220ef47 64 server.bind(PORT);
majster 1:bc203220ef47 65 server.listen(); // nasluch przychodzacych polaczen
majster 1:bc203220ef47 66
majster 1:bc203220ef47 67
majster 1:bc203220ef47 68 Switch1.fall(&blink);
majster 1:bc203220ef47 69 Switch2.fall(&blink1);
majster 1:bc203220ef47 70
majster 1:bc203220ef47 71
majster 1:bc203220ef47 72
majster 1:bc203220ef47 73
majster 1:bc203220ef47 74 while (true) //wykonuj caly czas
majster 1:bc203220ef47 75 {
majster 1:bc203220ef47 76
majster 1:bc203220ef47 77
majster 1:bc203220ef47 78 TCPSocketConnection client;
majster 1:bc203220ef47 79
majster 1:bc203220ef47 80 server.accept(client); // akceptacja nowego polaczenia
mareikeFSL 0:9108b822f763 81
majster 1:bc203220ef47 82 client.set_blocking(false, 1500); // timeout (1.5)s
majster 1:bc203220ef47 83
majster 1:bc203220ef47 84 c=RedLed;
majster 1:bc203220ef47 85
majster 1:bc203220ef47 86 switch(c)
majster 1:bc203220ef47 87 {
majster 1:bc203220ef47 88 case 0:
majster 1:bc203220ef47 89 if (BlueLed==0){
majster 1:bc203220ef47 90 char http_cmd[] = "<!DOCTYPE html> <html> <head> <title> FRDM-K64F </title> </head> <body> <h1> LEDY </h1> <p><font color=""red"">Dioda Czerwona ON</font></p> oraz <p><font color=""blue"">Dioda Niebieska ON</font></p><form action=""demo_form.asp""></form></body> </html>";
majster 1:bc203220ef47 91 client.send_all(http_cmd, sizeof(http_cmd)-1); // wyslij wszystko
majster 1:bc203220ef47 92 }
majster 1:bc203220ef47 93 else
majster 1:bc203220ef47 94 {
majster 1:bc203220ef47 95 char http_cmd[] = "<!DOCTYPE html> <html> <head> <title> FRDM-K64F </title> </head> <body> <h1> LEDY </h1> <p><font color=""red"">Dioda Czerwona ON</font></p> oraz <p><font color=""blue"">Dioda Niebieska OFF</font></p><form action=""demo_form.asp""></form></body> </html>";
majster 1:bc203220ef47 96 client.send_all(http_cmd, sizeof(http_cmd)-1); // wyslij wszystko
majster 1:bc203220ef47 97 }
majster 1:bc203220ef47 98 break;
majster 1:bc203220ef47 99
majster 1:bc203220ef47 100 case 1:
majster 1:bc203220ef47 101 if (BlueLed==1){
majster 1:bc203220ef47 102 char http_cmd[] = "<!DOCTYPE html> <html> <head> <title> FRDM-K64F </title> </head> <body> <h1> LEDY </h1> <p><font color=""red"">Dioda Czerwona OFF</font></p> oraz <p><font color=""blue"">Dioda Niebieska OFF</font></p><form action=""demo_form.asp""></form></body> </html>";
majster 1:bc203220ef47 103 client.send_all(http_cmd, sizeof(http_cmd)-1); // wyslij wszystko
majster 1:bc203220ef47 104
majster 1:bc203220ef47 105 }
majster 1:bc203220ef47 106 else
majster 1:bc203220ef47 107 {
majster 1:bc203220ef47 108 char http_cmd[] = "<!DOCTYPE html> <html> <head> <title> FRDM-K64F </title> </head> <body> <h1> LEDY </h1> <p><font color=""red"">Dioda Czerwona OFF</font></p> oraz <p><font color=""blue"">Dioda Niebieska ON</font></p><form action=""demo_form.asp""></form></body> </html>";
majster 1:bc203220ef47 109 client.send_all(http_cmd, sizeof(http_cmd)-1); // wyslij wszystko
majster 1:bc203220ef47 110
majster 1:bc203220ef47 111 }
majster 1:bc203220ef47 112 }
majster 1:bc203220ef47 113
majster 1:bc203220ef47 114
majster 1:bc203220ef47 115
majster 1:bc203220ef47 116 /*
majster 1:bc203220ef47 117 if (RedLed==0)
majster 1:bc203220ef47 118 {
majster 1:bc203220ef47 119 char http_cmd[] = "<!DOCTYPE html> <html> <head> <title> FRDM-K64F </title> </head> <body> <h1> Dioda Czerwona włączona </h1> <p> LED </p><form action=""demo_form.asp""><SELECT NAME=""LED_COLOUR""> <OPTION VALUE=""""> <OPTION VALUE=""GREEN"">GREEN <OPTION VALUE=""RED"">RED <input type=""submit"" value=""Submit""> </SELECT></form></body> </html>";
majster 1:bc203220ef47 120 client.send_all(http_cmd, sizeof(http_cmd)-1);
majster 1:bc203220ef47 121 }
majster 1:bc203220ef47 122 else
majster 1:bc203220ef47 123 {
majster 1:bc203220ef47 124 char http_cmd[] = "<!DOCTYPE html> <html> <head> <title> FRDM-K64F </title> </head> <body> <h1> Dioda Czerwona wyłączona </h1> <p> LED </p><form action=""demo_form.asp""><SELECT NAME=""LED_COLOUR""> <OPTION VALUE=""""> <OPTION VALUE=""GREEN"">GREEN <OPTION VALUE=""RED"">RED <input type=""submit"" value=""Submit""> </SELECT></form></body> </html>";
majster 1:bc203220ef47 125 client.send_all(http_cmd, sizeof(http_cmd)-1);
majster 1:bc203220ef47 126 }
majster 1:bc203220ef47 127 }
majster 1:bc203220ef47 128 if (RedBlue==0)
majster 1:bc203220ef47 129 {
majster 1:bc203220ef47 130 char http_cmd[] = "<!DOCTYPE html> <html> <head> <title> FRDM-K64F </title> </head> <body> <h1> Dioda Niebieska włączona </h1> <p> LED </p><form action=""demo_form.asp""><SELECT NAME=""LED_COLOUR""> <OPTION VALUE=""""> <OPTION VALUE=""GREEN"">GREEN <OPTION VALUE=""RED"">RED <input type=""submit"" value=""Submit""> </SELECT></form></body> </html>";
majster 1:bc203220ef47 131 client.send_all(http_cmd, sizeof(http_cmd)-1);
majster 1:bc203220ef47 132 else
majster 1:bc203220ef47 133 {
majster 1:bc203220ef47 134 char http_cmd[] = "<!DOCTYPE html> <html> <head> <title> FRDM-K64F </title> </head> <body> <h1> Dioda Niebieska włączona </h1> <p> LED </p><form action=""demo_form.asp""><SELECT NAME=""LED_COLOUR""> <OPTION VALUE=""""> <OPTION VALUE=""GREEN"">GREEN <OPTION VALUE=""RED"">RED <input type=""submit"" value=""Submit""> </SELECT></form></body> </html>";
majster 1:bc203220ef47 135 client.send_all(http_cmd, sizeof(http_cmd)-1);
majster 1:bc203220ef47 136 }
majster 1:bc203220ef47 137 }
majster 1:bc203220ef47 138
majster 1:bc203220ef47 139 */
majster 1:bc203220ef47 140
majster 1:bc203220ef47 141
majster 1:bc203220ef47 142 client.close();
majster 1:bc203220ef47 143
majster 1:bc203220ef47 144 pc.printf("\n\nClient closed\n\n\r");
majster 1:bc203220ef47 145
majster 1:bc203220ef47 146
majster 1:bc203220ef47 147
mareikeFSL 0:9108b822f763 148 }
majster 1:bc203220ef47 149 }