ハイパー・マイコン mbedでインターネット 電子工作 3章 リスト3-2 UDPJoystickのプログラム

Dependencies:   EthernetInterface TextLCD mbed-rtos mbed

Committer:
sunifu
Date:
Wed Jul 09 14:08:42 2014 +0000
Revision:
0:7990a8b069d4
2014.07.29

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sunifu 0:7990a8b069d4 1 #include "mbed.h"
sunifu 0:7990a8b069d4 2 #include "EthernetInterface.h"
sunifu 0:7990a8b069d4 3 #include "TextLCD.h"
sunifu 0:7990a8b069d4 4
sunifu 0:7990a8b069d4 5 #define SERVER_ADDRESS "192.168.0.7"
sunifu 0:7990a8b069d4 6 #define SERVER_PORT 55555
sunifu 0:7990a8b069d4 7
sunifu 0:7990a8b069d4 8 TextLCD lcd(p24,p26,p27,p28,p29,p30);
sunifu 0:7990a8b069d4 9
sunifu 0:7990a8b069d4 10 AnalogIn ud(p19);
sunifu 0:7990a8b069d4 11 AnalogIn lr(p20);
sunifu 0:7990a8b069d4 12
sunifu 0:7990a8b069d4 13 UDPSocket client;
sunifu 0:7990a8b069d4 14 Endpoint DataServer;
sunifu 0:7990a8b069d4 15 float udData,lrData;
sunifu 0:7990a8b069d4 16 char ipaddr[15];
sunifu 0:7990a8b069d4 17
sunifu 0:7990a8b069d4 18 unsigned int cnt = 1;
sunifu 0:7990a8b069d4 19
sunifu 0:7990a8b069d4 20 void sendData(void const *arg)
sunifu 0:7990a8b069d4 21 {
sunifu 0:7990a8b069d4 22 char out_buffer[42];
sunifu 0:7990a8b069d4 23
sunifu 0:7990a8b069d4 24 while(true)
sunifu 0:7990a8b069d4 25 {
sunifu 0:7990a8b069d4 26 Thread::wait(1000);
sunifu 0:7990a8b069d4 27
sunifu 0:7990a8b069d4 28 sprintf(out_buffer,"%s,%u,%.2f,%.2f,",ipaddr,cnt,udData,lrData);
sunifu 0:7990a8b069d4 29
sunifu 0:7990a8b069d4 30 client.sendTo(DataServer, out_buffer, sizeof(out_buffer)) ;
sunifu 0:7990a8b069d4 31
sunifu 0:7990a8b069d4 32 printf("Send Data[%s]\r\n",out_buffer);
sunifu 0:7990a8b069d4 33
sunifu 0:7990a8b069d4 34 lcd.locate(0,1);
sunifu 0:7990a8b069d4 35 lcd.printf("UD%0.2f : LR%0.2f",udData,lrData);
sunifu 0:7990a8b069d4 36
sunifu 0:7990a8b069d4 37 cnt++;
sunifu 0:7990a8b069d4 38 }
sunifu 0:7990a8b069d4 39 }
sunifu 0:7990a8b069d4 40
sunifu 0:7990a8b069d4 41 int main() {
sunifu 0:7990a8b069d4 42 EthernetInterface eth;
sunifu 0:7990a8b069d4 43
sunifu 0:7990a8b069d4 44 eth.init();
sunifu 0:7990a8b069d4 45
sunifu 0:7990a8b069d4 46 eth.connect();
sunifu 0:7990a8b069d4 47
sunifu 0:7990a8b069d4 48 client.init();
sunifu 0:7990a8b069d4 49
sunifu 0:7990a8b069d4 50 DataServer.set_address(SERVER_ADDRESS, SERVER_PORT);
sunifu 0:7990a8b069d4 51 sprintf(ipaddr,"%s",eth.getIPAddress());
sunifu 0:7990a8b069d4 52
sunifu 0:7990a8b069d4 53 lcd.cls();
sunifu 0:7990a8b069d4 54 lcd.locate(0,0);
sunifu 0:7990a8b069d4 55 lcd.printf("%s",ipaddr);
sunifu 0:7990a8b069d4 56
sunifu 0:7990a8b069d4 57 Thread thread(sendData);
sunifu 0:7990a8b069d4 58 while(1) {
sunifu 0:7990a8b069d4 59 udData = ud;
sunifu 0:7990a8b069d4 60 lrData = lr;
sunifu 0:7990a8b069d4 61 }
sunifu 0:7990a8b069d4 62 }