Hi
I have attached a FRDM-K64F binary that tests the case that you are interested in.
1. On the OpenSDA VCOM UART connection at 115kBaud (or on the K64's USB) there is a command line interface. Use menu '1' to configure the IP - whether it uses DHCP, fixed IP address etc. and save it. The default is 192.168.5 in case that already is suitable for the local network.
You can also control the Ethernet speed and duplex modes if you like - and it will show you the link speed and characteristics each time it connects or changes.
2. Type "quit" in the initial command line interface to allow a new connection to be established on Telnet instead.
3. Establish a Telnet connection to the board on its IP address (eg. from TeraTerm or from a Windows DOS shell).
4. In the same menu use the command "20ms" to start sending 57 bytes over the same TCP connection every 20ms. This will continue forever unless you type in "quit", in which case the output will switch to the UART connection. If you connect the K64's FS USB connection (which emulates as USB-CDC) and hit the enter key it will then switch the same output to this link.
While any of the connections are in operation you can also ping the board, connect to it via FTP or HTTP or Modbus TCP to see that the connection and operation is not affected by other services.
Note also that 57 bytes every 20ms is only 2'850 Byte/s or 22'800 bits/s. Therefore also the UART keeps up with this at 115200 Baud without any difficulty. The processor is in fact sleeping for 99.9% of the time doing such work (most operation is DMA driven) so there is no reason for any limitations with such requirements as the processor is doing extremely little work.
Regards
Mark
Test code reference:
if (E_TIMER_TCP_TX == ucInputMessage[MSG_TIMER_EVENT]) {
static CHAR cTestValue = '0';
CHAR cBuffer[57 + 1];
uMemset(cBuffer, cTestValue, (sizeof(cBuffer) - 1));
cBuffer[sizeof(cBuffer) - 1] = 0;
fnDebugMsg(cBuffer);
if (++cTestValue > '9') {
cTestValue = '0';
}
uTaskerMonoTimer(OWN_TASK, (DELAY_LIMIT)(0.02 * SEC), E_TIMER_TCP_TX);
}
DebugHandle == NETWORK_HANDLE;
DebugHandle == SerialPortID;
DebugHandle = USB_Handle;