]> git.llucax.com Git - z.facultad/66.09/etherled.git/blob - pruebas/keil/red_test_anda/main.c
Finalmente arreglo problema de overflow de recepciĆ³n (gracias a los muchachos
[z.facultad/66.09/etherled.git] / pruebas / keil / red_test_anda / main.c
1 // vim: set et sw=4 sts=4 :     
2
3 #include "main.h"
4
5 static xdata leds1 _at_ 0x0080;
6 static xdata leds2 _at_ 0x00c0;
7
8 void sleep(unsigned char times)
9 {
10     unsigned int i;
11     unsigned char j;
12     for (i = 0; i < 0xffff; ++i)
13         for (j = 0; j < times; ++j);
14 }
15
16 void main(void)
17 {
18     unsigned char count = 1;
19     unsigned int len;
20     leds1 = ~0xff;
21     leds2 = ~0xff;
22     sleep(3);
23     /* Initialise the device driver. */ 
24     if (!etherdev_init())
25         while(1); // Si falla init nos quedamos bobos
26
27     etherdev_send();
28     leds1 = ~0xaa;
29     leds2 = ~0xaa;
30
31
32     // leemos
33     do
34     {
35
36     for (len = 14; len < sizeof(uip_buf); ++len)
37         uip_buf[len] = 0;
38
39         len = etherdev_read();
40         if (len)
41         {
42             leds1 = ~0x55;
43             leds2 = ~len;
44             sleep(0);
45             /*
46             for (len = 0; len < uip_len; ++len)
47             {
48                 leds1 = ~(1 << (len % 8));
49                 leds2 = ~uip_buf[len];
50                 sleep(5);
51             }
52             */
53             //leds1 = ~0x33;
54             //leds2 = ~uip_buf[42];
55             //sleep(5);
56             uip_buf[13] = count++;
57             etherdev_send();
58         }
59         else
60         {
61             leds1 = ~0x00;
62             leds2 = ~0x00;
63         }
64     }
65     while (1); // Quedamos paveando forever
66 }
67