-/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
- º TITLE: Keil C51 v7.00 port of Adam Dunkels' uIP v0.9 º
- º REVISION: VER 0.1 º
- º REV.DATE: 30-01-05 º
- º ARCHIVE: º
- º AUTHOR: Murray R. Van Luyn, 2005. º
- ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ */
-
-/* ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
- ³ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS ³
- ³ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ³
- ³ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ³
- ³ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY ³
- ³ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ³
- ³ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE ³
- ³ GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ³
- ³ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ³
- ³ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ³
- ³ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ³
- ³ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ³
- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ */
+// vim: set et sw=4 sts=4 :
+#include "types.h"
#include "main.h"
-static xdata leds1 _at_ 0x0080;
-static xdata leds2 _at_ 0x00c0;
+#ifdef SDCC
+static byte xdata at 0x0080 leds1;
+static byte xdata at 0x00c0 leds2;
+#else
+static byte xdata leds1 _at_ 0x0080;
+static byte xdata leds2 _at_ 0x00c0;
+#endif
void sleep(unsigned char times)
{
- unsigned int i;
- unsigned char j;
- for (i = 0; i < 0xffff; ++i)
- for (j = 0; j < times; ++j);
+ unsigned int i;
+ unsigned char j;
+ for (i = 0; i < 0xffff; ++i)
+ for (j = 0; j < times; ++j);
}
-/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
- º º
- º main() º
- º º
- º Simple Web Server test application. º
- º º
- º º
- ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ */
void main(void)
{
- unsigned int len;
- leds1 = ~0x00;
- leds2 = ~0x00;
- sleep(3);
+ unsigned char count = 1;
+ unsigned int len;
+ leds1 = ~0xff;
+ leds2 = ~0xff;
+ sleep(3);
/* Initialise the device driver. */
if (!etherdev_init())
- while(1); // Si falla init nos quedamos bobos
+ while(1); // Si falla init nos quedamos bobos
etherdev_send();
- leds1 = ~0xaa;
- leds2 = ~0xaa;
+ leds1 = ~0xaa;
+ leds2 = ~0xaa;
- // leemos
-do
-{
- len = etherdev_read();
- if (len)
- {
- leds1 = ~0x55;
- leds2 = len;
- sleep(2);
- for (len = 0; len < uip_len; ++len)
- {
- leds1 = ~(1 << (len % 8));
- leds2 = ~uip_buf[len];
- sleep(5);
- }
- leds1 = ~0x55;
- leds2 = ~0x55;
- }
- else
- {
- leds1 = ~0xff;
- leds2 = ~0xff;
- }
-}
-while (1); // Quedamos paveando forever
+ // leemos hasta el fin de nuestros días
+ while (1)
+ {
+
+ len = etherdev_read();
+ if (len)
+ {
+ leds1 = ~0x55;
+ leds2 = ~len;
+ sleep(0);
+ /*
+ for (len = 0; len < uip_len; ++len)
+ {
+ leds1 = ~(1 << (len % 8));
+ leds2 = ~uip_buf[len];
+ sleep(5);
+ }
+ */
+ //leds1 = ~0x33;
+ //leds2 = ~uip_buf[42];
+ //sleep(5);
+ uip_buf[13] = count++;
+ etherdev_send();
+ }
+ else
+ {
+ leds1 = ~0x00;
+ leds2 = ~0x00;
+ }
+ }
}