]> git.llucax.com Git - z.facultad/66.09/etherled.git/blob - pruebas/keil/red_test_anda/main.c
Pongo nombres más legibles a algunos bits de los registros.
[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 hasta el fin de nuestros días
33     while (1)
34     {
35
36         len = etherdev_read();
37         if (len)
38         {
39             //leds1 = ~0x55;
40             //leds2 = ~len;
41             //sleep(0);
42             /*
43             for (len = 0; len < uip_len; ++len)
44             {
45                 leds1 = ~(1 << (len % 8));
46                 leds2 = ~uip_buf[len];
47                 sleep(5);
48             }
49             */
50             //leds1 = ~0x33;
51             //leds2 = ~uip_buf[42];
52             //sleep(5);
53             uip_buf[13] = count++;
54             etherdev_send();
55         }
56         else
57         {
58             leds1 = ~0x00;
59             leds2 = ~0x00;
60         }
61     }
62 }
63