Hola.
Estoy intentando aprender a generar números aleatorios en XC8 haciendo un dado electrónico con un display de 7 segmentos. De momento estoy centrado en comprobar que me funciona la generación de un número aleatorio mediante rand() y srand() pero al compilar me da el siguiente error:
main.c:31: error: could not find space (20 bytes) for variable main@F403
(La línea 31 es --> int tabla7seg [10]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x98}
Y este es el código:
Agradecería que alguien me dijera donde está el error.
Si omito a=rand(); compila correctamente.
Decir que estoy aprendiendo a programar.
Gracias de antemano.
1 Saludo.
Estoy intentando aprender a generar números aleatorios en XC8 haciendo un dado electrónico con un display de 7 segmentos. De momento estoy centrado en comprobar que me funciona la generación de un número aleatorio mediante rand() y srand() pero al compilar me da el siguiente error:
main.c:31: error: could not find space (20 bytes) for variable main@F403
(La línea 31 es --> int tabla7seg [10]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x98}
Y este es el código:
PHP:
/*
* File: main.c
* Author: nimio
*
* 16F84A
*
* DADO ELECTRÓNICO
* 7 SEGMENTOS DE ÁNODO COMÚN
*
* Created on 11 de marzo de 2013, 1:06
*/
#include <xc.h>
#include <stdlib.h> // LIBRERÍA PARA PODER USAR LA FUNCIÓN SRAND.
#define _XTAL_FREQ 4000000
#pragma config FOSC=XT, WDTE=OFF, PWRTE=ON, CP=OFF
/*
*
*/
void main(void) {
char a; // VARIABLE PARA LA TABLA DE 0-9;
int tabla7seg [10]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x98}; // 0-9 EN HEXADECIMAL.
srand(10);
TRISB=0;
PORTB=1;
do {
a=rand();
PORTB=(tabla7seg [a]);
} while(1);
}
Agradecería que alguien me dijera donde está el error.
Si omito a=rand(); compila correctamente.
Decir que estoy aprendiendo a programar.
Gracias de antemano.
1 Saludo.
Última edición: