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: UsaClient
main.cpp@2:1b4bba79cd29, 2021-11-06 (annotated)
- Committer:
- cocorlow
- Date:
- Sat Nov 06 19:06:40 2021 +0000
- Revision:
- 2:1b4bba79cd29
- Parent:
- 1:c050a4297deb
speed test
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| cocorlow | 0:4d6a8970674c | 1 | #include "mbed.h" |
| cocorlow | 0:4d6a8970674c | 2 | #include "EthernetInterface.h" |
| cocorlow | 0:4d6a8970674c | 3 | #include "UsaClient.hpp" |
| cocorlow | 0:4d6a8970674c | 4 | |
| cocorlow | 0:4d6a8970674c | 5 | EthernetInterface net; |
| cocorlow | 0:4d6a8970674c | 6 | DigitalIn button(PC_13); |
| cocorlow | 0:4d6a8970674c | 7 | |
| cocorlow | 2:1b4bba79cd29 | 8 | using namespace std::chrono; |
| cocorlow | 2:1b4bba79cd29 | 9 | |
| cocorlow | 0:4d6a8970674c | 10 | int main() |
| cocorlow | 0:4d6a8970674c | 11 | { |
| cocorlow | 2:1b4bba79cd29 | 12 | printf("system start.\r\n"); |
| cocorlow | 0:4d6a8970674c | 13 | SocketAddress sockAddr; |
| cocorlow | 0:4d6a8970674c | 14 | if (net.connect() != 0) |
| cocorlow | 0:4d6a8970674c | 15 | { |
| cocorlow | 0:4d6a8970674c | 16 | printf("a"); |
| cocorlow | 0:4d6a8970674c | 17 | return -1; |
| cocorlow | 0:4d6a8970674c | 18 | } |
| cocorlow | 0:4d6a8970674c | 19 | net.get_ip_address(&sockAddr); |
| cocorlow | 0:4d6a8970674c | 20 | printf("IP: %s\r\n", sockAddr.get_ip_address() ? sockAddr.get_ip_address() : "No IP"); |
| cocorlow | 0:4d6a8970674c | 21 | |
| cocorlow | 0:4d6a8970674c | 22 | |
| cocorlow | 2:1b4bba79cd29 | 23 | UsaClient udp(&net, "192.168.10.109", 10000); // server IP address, Port number |
| cocorlow | 2:1b4bba79cd29 | 24 | uint8_t send[200]; |
| cocorlow | 2:1b4bba79cd29 | 25 | uint8_t recv[200]; |
| cocorlow | 2:1b4bba79cd29 | 26 | |
| cocorlow | 2:1b4bba79cd29 | 27 | int wN = 100; |
| cocorlow | 2:1b4bba79cd29 | 28 | int rN = 100; |
| cocorlow | 2:1b4bba79cd29 | 29 | |
| cocorlow | 2:1b4bba79cd29 | 30 | Timer t; |
| cocorlow | 0:4d6a8970674c | 31 | |
| cocorlow | 0:4d6a8970674c | 32 | while (1) |
| cocorlow | 0:4d6a8970674c | 33 | { |
| cocorlow | 0:4d6a8970674c | 34 | if (button) |
| cocorlow | 0:4d6a8970674c | 35 | { |
| cocorlow | 2:1b4bba79cd29 | 36 | printf("\r\n##########################\r\n"); |
| cocorlow | 2:1b4bba79cd29 | 37 | printf("write start\r\n"); |
| cocorlow | 2:1b4bba79cd29 | 38 | printf("wN = %d\r\n", wN); |
| cocorlow | 2:1b4bba79cd29 | 39 | t.reset(); |
| cocorlow | 2:1b4bba79cd29 | 40 | t.start(); |
| cocorlow | 2:1b4bba79cd29 | 41 | for (int i = 0; i < wN; i++) |
| cocorlow | 2:1b4bba79cd29 | 42 | { |
| cocorlow | 2:1b4bba79cd29 | 43 | send[0] = i; |
| cocorlow | 2:1b4bba79cd29 | 44 | udp.Write(0, send, 100); |
| cocorlow | 2:1b4bba79cd29 | 45 | } |
| cocorlow | 2:1b4bba79cd29 | 46 | t.stop(); |
| cocorlow | 2:1b4bba79cd29 | 47 | printf("write: %llu us\r\n", duration_cast<microseconds>(t.elapsed_time()).count()); |
| cocorlow | 2:1b4bba79cd29 | 48 | |
| cocorlow | 2:1b4bba79cd29 | 49 | ThisThread::sleep_for(chrono::milliseconds(1000)); |
| cocorlow | 2:1b4bba79cd29 | 50 | |
| cocorlow | 2:1b4bba79cd29 | 51 | printf("read start\r\n"); |
| cocorlow | 2:1b4bba79cd29 | 52 | printf("r = %d\r\n", wN); |
| cocorlow | 2:1b4bba79cd29 | 53 | t.reset(); |
| cocorlow | 2:1b4bba79cd29 | 54 | t.start(); |
| cocorlow | 2:1b4bba79cd29 | 55 | for (int i = 0; i < rN; i++) |
| cocorlow | 2:1b4bba79cd29 | 56 | { |
| cocorlow | 2:1b4bba79cd29 | 57 | udp.Read(0, recv, 100); |
| cocorlow | 2:1b4bba79cd29 | 58 | } |
| cocorlow | 2:1b4bba79cd29 | 59 | t.stop(); |
| cocorlow | 2:1b4bba79cd29 | 60 | printf("%d\r\n", recv[0]); |
| cocorlow | 2:1b4bba79cd29 | 61 | printf("read : %llu us\r\n", duration_cast<microseconds>(t.elapsed_time()).count()); |
| cocorlow | 2:1b4bba79cd29 | 62 | ThisThread::sleep_for(chrono::milliseconds(1000)); |
| cocorlow | 0:4d6a8970674c | 63 | } |
| cocorlow | 0:4d6a8970674c | 64 | } |
| cocorlow | 0:4d6a8970674c | 65 | } |
| cocorlow | 0:4d6a8970674c | 66 |