Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface mbed-rtos mbed
Fork of TCPSocket_HelloWorld by
Revision 15:e6c1c6be2f44, committed 2017-10-26
- Comitter:
- rodolforbcoutinho
- Date:
- Thu Oct 26 16:52:09 2017 +0000
- Parent:
- 14:72be2b8b7f24
- Commit message:
- UART TCP client for LPC1786
Changed in this revision
diff -r 72be2b8b7f24 -r e6c1c6be2f44 EthernetInterface.lib --- a/EthernetInterface.lib Wed May 14 15:07:26 2014 +0000 +++ b/EthernetInterface.lib Thu Oct 26 16:52:09 2017 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/EthernetInterface/#097a9996f8d5 +https://os.mbed.com/users/rodolforbcoutinho/code/EthernetInterface/#e48d6850ce0c
diff -r 72be2b8b7f24 -r e6c1c6be2f44 main.cpp
--- a/main.cpp Wed May 14 15:07:26 2014 +0000
+++ b/main.cpp Thu Oct 26 16:52:09 2017 +0000
@@ -1,27 +1,84 @@
#include "mbed.h"
#include "EthernetInterface.h"
-int main() {
- EthernetInterface eth;
+InterruptIn BTN_send(p14);
+DigitalOut led(LED1);
+DigitalOut led_rx(LED2);
+
+RawSerial device(p9, p10); // tx, rx
+
+volatile int flagB = 0;
+volatile int flagS = 0;
+
+// Circular buffers for serial TX and RX data - used by interrupt routines
+const int buffer_size = 16;
+// might need to increase buffer size for high baud rates
+char rx_buffer[buffer_size+1];
+// Circular buffer pointers
+// volatile makes read-modify-write atomic
+volatile int rx_in=0;
+
+EthernetInterface eth;
+TCPSocketConnection sock;
+
+void BTN_send_TCP()
+{
+ led = !led;
+ flagB = 200;
+}
+
+void UART_send_TCP()
+{
+ int byte_counter = 0;
+
+ led_rx = 1;
+ while (device.readable() and (byte_counter != 5))
+ {
+ rx_buffer[rx_in] = device.getc();
+ rx_in = (rx_in + 1) % buffer_size;
+
+ byte_counter++;
+ }
+ flagS = 200;
+ led_rx = 0;
+}
+
+int main()
+{
+ BTN_send.rise(&BTN_send_TCP);
+ device.baud(9600);
+ device.attach(&UART_send_TCP, Serial::RxIrq);
+
+ //device.printf("teste UART 2\n\r");
+
+ //EthernetInterface eth;
eth.init(); //Use DHCP
eth.connect();
- printf("IP Address is %s\n", eth.getIPAddress());
+ printf("IP Address is %s\n\r", eth.getIPAddress());
- TCPSocketConnection sock;
- sock.connect("mbed.org", 80);
+ //TCPSocketConnection sock;
+ sock.connect("10.0.126.202", 8888);
+ //sock.connect("192.168.1.7", 8888);
- char http_cmd[] = "GET /media/uploads/mbed_official/hello.txt HTTP/1.0\n\n";
- sock.send_all(http_cmd, sizeof(http_cmd)-1);
+ char cmd[] = "teste ethernet MBED e C#! Visual Studio Rules!!!\n\r";
+ char cmd2[] = "another test by button fuction flag\n\r";
+ sock.send_all(cmd, sizeof(cmd)-1);
- char buffer[300];
- int ret;
- while (true) {
- ret = sock.receive(buffer, sizeof(buffer)-1);
- if (ret <= 0)
- break;
- buffer[ret] = '\0';
- printf("Received %d chars from server:\n%s\n", ret, buffer);
- }
+ while (true)
+ {
+ if(flagB == 200)
+ {
+ flagB = 0;
+ sock.send_all(cmd2, sizeof(cmd2)-1);
+ }
+ if(flagS == 200)
+ {
+ flagS = 0;
+ sock.send_all(rx_buffer, 5);
+ //sock.send_all(rx_buffer, sizeof(rx_buffer)-1);
+ rx_in = 0;
+ }
+ }
sock.close();
diff -r 72be2b8b7f24 -r e6c1c6be2f44 mbed-rtos.lib --- a/mbed-rtos.lib Wed May 14 15:07:26 2014 +0000 +++ b/mbed-rtos.lib Thu Oct 26 16:52:09 2017 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed-rtos/#5dfe422a963d +http://mbed.org/users/mbed_official/code/mbed-rtos/#5713cbbdb706
diff -r 72be2b8b7f24 -r e6c1c6be2f44 mbed.bld --- a/mbed.bld Wed May 14 15:07:26 2014 +0000 +++ b/mbed.bld Thu Oct 26 16:52:09 2017 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/8a40adfe8776 \ No newline at end of file +https://mbed.org/users/mbed_official/code/mbed/builds/675da3299148 \ No newline at end of file
