]> git.llucax.com Git - z.facultad/66.09/etherled.git/blob - pruebas/keil/red_test_anda/main.c
Cuando hay OVW no significa que no hay paquetes por recibir, todo lo contrario.
[z.facultad/66.09/etherled.git] / pruebas / keil / red_test_anda / main.c
1 // vim: set et sw=4 sts=4 :     
2
3 #include "types.h"
4 #include "main.h"
5
6 #ifdef SDCC
7 static byte xdata at 0x0080 leds1;
8 static byte xdata at 0x00c0 leds2;
9 #else
10 static byte xdata leds1 _at_ 0x0080;
11 static byte xdata leds2 _at_ 0x00c0;
12 #endif
13
14 void sleep(unsigned char times)
15 {
16     unsigned int i;
17     unsigned char j;
18     for (i = 0; i < 0xffff; ++i)
19         for (j = 0; j < times; ++j);
20 }
21
22 void main(void)
23 {
24     unsigned char count = 1;
25     unsigned int len;
26     leds1 = ~0xff;
27     leds2 = ~0xff;
28     sleep(3);
29     /* Initialise the device driver. */ 
30     if (!etherdev_init())
31         while(1); // Si falla init nos quedamos bobos
32
33     etherdev_send();
34     leds1 = ~0xaa;
35     leds2 = ~0xaa;
36
37
38     // leemos hasta el fin de nuestros días
39     while (1)
40     {
41
42         len = etherdev_read();
43         if (len)
44         {
45             leds1 = ~0x55;
46             leds2 = ~len;
47             sleep(0);
48             /*
49             for (len = 0; len < uip_len; ++len)
50             {
51                 leds1 = ~(1 << (len % 8));
52                 leds2 = ~uip_buf[len];
53                 sleep(5);
54             }
55             */
56             //leds1 = ~0x33;
57             //leds2 = ~uip_buf[42];
58             //sleep(5);
59             uip_buf[13] = count++;
60             etherdev_send();
61         }
62         else
63         {
64             leds1 = ~0x00;
65             leds2 = ~0x00;
66         }
67     }
68 }
69