<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>LPC MicrocontrollersのトピックRe: LPC ETHERNET REMOTE SERVER</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520528#M3680</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by rocketfuel on Wed Oct 08 17:12:58 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi! Thank you for your reply!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;sizeof() can't 'go wrong... i know, i meant thats the line im having the problem with... it returns 4 as you say.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here i post TCPIP.H declarations from easyweb example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[color=#0f0]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define MAX_TCP_RX_DATA_SIZE 1024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // max. incoming TCP data size (even!)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;extern unsigned short _RxTCPBuffer[MAX_TCP_RX_DATA_SIZE/2];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // space for incoming TCP-data&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define RxTCPBuffer&amp;nbsp;&amp;nbsp; ((unsigned char *)_RxTCPBuffer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define TCP_RX_BUF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((unsigned char *)RxTCPBuffer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define TCP_RX_BUFTEMP&amp;nbsp; ((unsigned char *)RxTCPBuffer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[/color]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What i understand is... when i send a command (a string), it is stored in an array which seems to be _RxTCPBuffer[]. But that array should have my data + tcpip data, am i right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Going on with definitions i see, RxTCPBuffer ((unsigned char *)_RxTCPBuffer). So what i understand here is that RxTCPBuffer is a pointer to that array with a cast to a different data type. But then i have TCP_RX_BUF ((unsigned char *)RxTCPBuffer) wich points to the last pointer but same cast. I declared TCP_RX_BUFTEMP to copy the entire RX Buffer before i clear it to send data because its needed to get ACKs according to easyweb docs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think all my problem is because i can not fully understand those pointers...&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:43:30 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:43:30Z</dc:date>
    <item>
      <title>LPC ETHERNET REMOTE SERVER</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520526#M3678</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by rocketfuel on Tue Oct 07 19:14:18 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi everyone.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At work I have been asked to build a remote server to watch/control an old TV broadcasting unit. Basically, all i have to do is to read 8 ADC values, a few digital outputs and to send a few commands to its digital inputs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Currently i have a visual basic app wich sends and receives strings (commands). This app has been fully tested and works perfectly. It sends string commands in the following way:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;COMMAND:|:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And receives a string in the following way:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;COMMAND:|:VALUEADC1:|:VALUEADC2:|:VALUEADC3.......:|:DIGITALVALUE1:|:DIGITALVALUE2:|:....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now talking about LPC1769 i did the following: i took EASYWEB example and modified it. At first i made it send a simple string containing values of ADC in an infinite loop and worked succesfully. But i had to implement input commands so right now im stuck at that point.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I decided to make the board to echo every command string i send. Here is the code (pay attention to red line):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void HTTPServer(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (SocketStatus &amp;amp; SOCK_CONNECTED)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (SocketStatus &amp;amp; SOCK_DATA_AVAILABLE)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;memcpy(TCP_RX_BUFTEMP, TCP_RX_BUF, sizeof(TCP_RX_BUF));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;TCPReleaseRxBuffer();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (SocketStatus &amp;amp; SOCK_TX_BUF_RELEASED)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[color=#c03]HTTPBytesToSend = sizeof(TCP_RX_BUFTEMP)-1;[/color]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Buffer = (unsigned char*)TCP_RX_BUFTEMP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (HTTPBytesToSend &amp;gt; MAX_TCP_TX_DATA_SIZE)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;memcpy(TCP_TX_BUF, Buffer, MAX_TCP_TX_DATA_SIZE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;HTTPBytesToSend -= MAX_TCP_TX_DATA_SIZE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Buffer += MAX_TCP_TX_DATA_SIZE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;TCPTxDataCount = MAX_TCP_TX_DATA_SIZE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;TCPTransmitTxBuffer();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (HTTPBytesToSend)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;memcpy(TCP_TX_BUF, Buffer, HTTPBytesToSend);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;TCPTxDataCount = HTTPBytesToSend;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;TCPTransmitTxBuffer();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;HTTPBytesToSend = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What this code does is: It echoes only the first 3 characters unless i especify +something (+20 for example) in the red line but, of course, it will print the string + garbage because it doesnt know where the string finishes...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So Sizeof(TCP_RX_BUFTEMP) is not working and i am pretty sure its because TCP_RX_BUFTEMP is something different than a simple array like it comes with easyweb. I cant understand how RX BUFFER is implemented. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help would be much appreciated!&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:43:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520526#M3678</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:43:29Z</dc:date>
    </item>
    <item>
      <title>Re: LPC ETHERNET REMOTE SERVER</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520527#M3679</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Tue Oct 07 23:46:12 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;sizeof() can't 'go wrong'. It is defined as a constant, being the size, in bytes, of the variable/type. It is calculated at COMPILE TIME.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Without seeing the definition TCP_RX_BUFTEMP, we cannot know for certain, but my guess is that it is defined as a char *, meaning it is a pointer to a character and, being a pointer, has a fixed size of 4. Again, I don't know what your buffer contains, but if it is a C character array (string), you probably want to use strlen(Buffer) - obviously re-ordering the code... If it is NOT a character array, you need to calculate the size in a different way.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:43:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520527#M3679</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:43:30Z</dc:date>
    </item>
    <item>
      <title>Re: LPC ETHERNET REMOTE SERVER</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520528#M3680</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by rocketfuel on Wed Oct 08 17:12:58 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi! Thank you for your reply!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;sizeof() can't 'go wrong... i know, i meant thats the line im having the problem with... it returns 4 as you say.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here i post TCPIP.H declarations from easyweb example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[color=#0f0]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define MAX_TCP_RX_DATA_SIZE 1024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // max. incoming TCP data size (even!)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;extern unsigned short _RxTCPBuffer[MAX_TCP_RX_DATA_SIZE/2];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // space for incoming TCP-data&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define RxTCPBuffer&amp;nbsp;&amp;nbsp; ((unsigned char *)_RxTCPBuffer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define TCP_RX_BUF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((unsigned char *)RxTCPBuffer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define TCP_RX_BUFTEMP&amp;nbsp; ((unsigned char *)RxTCPBuffer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[/color]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What i understand is... when i send a command (a string), it is stored in an array which seems to be _RxTCPBuffer[]. But that array should have my data + tcpip data, am i right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Going on with definitions i see, RxTCPBuffer ((unsigned char *)_RxTCPBuffer). So what i understand here is that RxTCPBuffer is a pointer to that array with a cast to a different data type. But then i have TCP_RX_BUF ((unsigned char *)RxTCPBuffer) wich points to the last pointer but same cast. I declared TCP_RX_BUFTEMP to copy the entire RX Buffer before i clear it to send data because its needed to get ACKs according to easyweb docs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think all my problem is because i can not fully understand those pointers...&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:43:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520528#M3680</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:43:30Z</dc:date>
    </item>
    <item>
      <title>Re: LPC ETHERNET REMOTE SERVER</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520529#M3681</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by LabRat on Wed Oct 08 17:59:26 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: rocketfuel&lt;/STRONG&gt;&lt;BR /&gt;I declared TCP_RX_BUFTEMP to copy the entire RX Buffer before i clear it to send data because its needed to get ACKs according to easyweb docs.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; :quest: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;TCP_RX_BUFTEMP is just another pointer to the same array&amp;nbsp; &lt;SPAN class="lia-unicode-emoji" title=":face_with_open_mouth:"&gt;&lt;LI-EMOJI id="lia_face-with-open-mouth" title=":face_with_open_mouth:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;memcpy(TCP_RX_BUFTEMP, TCP_RX_BUF, sizeof(TCP_RX_BUF));&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;is totally nonsense...&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:43:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520529#M3681</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:43:31Z</dc:date>
    </item>
    <item>
      <title>Re: LPC ETHERNET REMOTE SERVER</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520530#M3682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by rocketfuel on Thu Oct 09 07:07:59 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you LabRat... now i see im copying the address pointed by TCP_RX_BUF to TCP_RX_BUFTEMP, not the contents of the array...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:43:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC-ETHERNET-REMOTE-SERVER/m-p/520530#M3682</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:43:31Z</dc:date>
    </item>
  </channel>
</rss>

