]> git.llucax.com Git - z.facultad/66.09/etherled.git/blob - pruebas/sdcc/gnuine.c
Adapto ejemplo básico que andaba a SDCC y funciona correctamente.
[z.facultad/66.09/etherled.git] / pruebas / sdcc / gnuine.c
1 /*
2  * Pruebas para ver como hace el assembler para traducir algunas cosas.
3  */
4
5 /* typedef unsigned char* ptr_t;
6
7 ptr_t leds   = 0x80; /* p0 * /
8 ptr_t matriz = 0x32;
9 ptr_t matriz_len = 0x32; /* tamaño de la matriz en cantidad de columnas * /
10 ptr_t matriz_curr_col = 0x31; /* columna actual a mostrar * /
11
12 */
13
14 const unsigned char leds_default = 0x1f;
15 const unsigned char matriz_default[8] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };
16 unsigned char leds;
17 unsigned char matriz[12];
18 unsigned char matriz_len;
19 unsigned char matriz_col;
20
21 void mostrar_leds()
22 {
23         unsigned char i;
24         for (i = 0; i < leds_default; ++i)
25                 matriz[i] = matriz_default[i];
26         leds = leds_default;
27         if (!matriz_col) matriz_col = matriz_len;
28         --matriz_col;
29         leds = matriz[matriz_col];
30 }
31