TCP/IP Stack Lite: PINGs Quit replying with LED Toggle in main.c while(1) loop

Started by kc25chief, May 15, 2024, 07:35:27 PM

Previous topic - Next topic

kc25chief

Disclaimer: I'm new to Olimex and Microchip's current line of toolset and chipsets beyond PIC12 and PIC16s using Assembler and not XC8.


I have created a short little program Targeted to the PIC-WEB PIC16F67J60 Ether PHY mirco using the TCP/IP Stack Lite using the latest most up to date everything in the toolchain and plugins to just do two things;

1. Toggle an onboard the onboard Red LED
2. simply reply to a 'PING' request via the PIC18F67J60 Ethernet PHY peripheral.

There are 2 Methods in which I 'blink' the onboard LED:
Method 1. from a RTC interrupt once a second.
Method 2. from the main() white(1) loop;.
Results:

With Method 1: when I Ping, both 'ping' replies and an LED 1-Second Toggle occurs just as expected- no problems.

With Method 2: when I place the LED toggle in the while(1) loop of the main() function; the LED toggles just fine- Very fast of course. However, the 'Ping' replies cease to occur and I get a timeout on the requester.

Can someone please give me some insight what is going on? Maybe the Network_Manage() call is getting 'starved for attention' and dropping out, but that seems crazy because the toggle should be only 1 instruction execution amount of time; in the nanoseconds range.

I have also tried a 'dummy function' for the led blink which is a simple delay bypassing the physical toggle of LED also achieving 'Request timed out.'.  I find this baffling and also lowering my confidence with the whole out-of-the-box solution.

Thanks in advance for any insights you may have,
KC Chief