elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  pic 16f877A Sacar un seno programando en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: pic 16f877A Sacar un seno programando en c  (Leído 4,134 veces)
coconut

Desconectado Desconectado

Mensajes: 2


Ver Perfil
pic 16f877A Sacar un seno programando en c
« en: 8 Febrero 2006, 13:05 pm »

Hola, he hecho este programa para sacar un seno por el pto b  de la pic (luego se le añade un conversor analogico-digital) programando en PICC mis dotes de C estan bastante olvidadas el caso es que no me va, y me da un error que no entiendo al declarar los enteros i y j me pide al compilar un numero?! alguien ve el erroro errores? gracias!  (va a 16 MHz)

#include <16F877A.h>
#device adc=8
#use delay(clock=16000000)
#fuses NOWDT,HS, NOPUT, NOPROTECT, NODEBUG, BROWNOUT, LVP, NOCPD, NOWRT



void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(FALSE);
   setup_counters(RTCC_INTERNAL,RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
 
   int i,j; aqui me pide una expresion numerica
   set_tris_b (0xFF);            /Puerto B de salida
   int * x[0]; (antes int 8)   
   x[0]=0x9A;               /Inicializacion del seno
   x[1]=0xB3;
   x[2]=0xCA;
   x[3]=0xDE;
   x[4]=0xEE;
   x[5]=0xF9;
   x[6]=0xFF;
   x[7]=0xFF;
   x[8]=0xFC;
   x[9]=0xF2;
   x[10]=0xE3;
   x[11]=0xD0;
   x[12]=0xBA;
   x[13]=0xA2;
   x[14]=0x88;
   x[15]=0x6D;
   x[16]=0x54;
   x[17]=0x3C;
   x[18]=0x27;
   x[19]=0x16;
   x[20]=0x0A;
   x[21]=0x02;
   x[22]=0x00;
   x[23]=0x03;
   x[24]=0x0B;
   x[25]=0x18;
   x[26]=0x2A;
   x[27]=0x3F;
   x[28]=0x57;
   x[29]=0x71;

   while (1){
      for (i=0;i<30;i++){         /Para recorrer la tabla
         for (j=0;j<125;j++){      /Para esperar el tiempo de mostreo
            output_b(x);   
         }
      }
   }
}




En línea

Bastian

Desconectado Desconectado

Mensajes: 97


El conocimiento es el arma mas poderosa.. APRENDE!


Ver Perfil
Re: pic 16f877A Sacar un seno programando en c
« Respuesta #1 en: 8 Febrero 2006, 16:43 pm »

Hola!

Por lo que puedo entender, quieres crear un vector de enteros, para guardar los distintos valores binarios que vas a sacar por el puerto b secuencialmente.

lo unico raro que veo es la declaracion del vector
Citar
   int * x[0];(antes int 8)   
   x[0]=0x9A;               /Inicializacion del seno

Cuando se declara un vector, entre corchetes, se pone el numero de elementos que va a tener para reservar el espacio de memoria..... por ejemplo si quieres un vector de 100 valores enteros, debes escribir:
Código:
int vector_de_100_enteros[100]
de esta forma tienes 100 enteros consecutivos numerados entre 0 y 99.

Cuando declaras el vector lo haces con 0 elementos..... lo que no tiene sentido.... deberia ser:
Código:
 int * x[30]
Por cierto, supongo que lo de
Citar
(antes int 8)
lo habras puesto al postear, si no deberia estar comentado //

Salu2!


En línea

Un gobierno no debe movilizar un ejército por ira, y los jefes militares no deben provocar la guerra por cólera.
Sun Tzu:"El arte de la guerra"

Escrito hace 3000 años y algunos aun no lo saben!

Por cierto ...... escribir bien no cuesta una P*** M*****
coconut

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: pic 16f877A Sacar un seno programando en c
« Respuesta #2 en: 8 Febrero 2006, 17:02 pm »

si lo de int 8 era lo que habia puesto antes un entero de 8 bits pero luego vi en este foro que lo ponian con el * y lo he cambiado, pero me sigue pidiendo una expresion numerica despues del int y si le pongo el 8 la sigue pidiendo¿?

gracias por lo del vector
En línea

GeoMX

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: pic 16f877A Sacar un seno programando en c
« Respuesta #3 en: 21 Febrero 2006, 08:28 am »

No estoy seguro (porque no he programado ningún microcontrolador con C), pero me parece que el vector deberías declararlo así:

Código:
int x[n_posiciones];

o así:

Código:
int *x;
x = malloc(n_posiciones * n_tamaño_de_datos);
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
contador digital de vueltas con un pic 16f877a
Electrónica
phantomdojai 7 18,930 Último mensaje 14 Junio 2010, 21:53 pm
por ...DaNiEl...
Teorema del seno
Programación C/C++
ChicoMaravilla 3 3,199 Último mensaje 10 Noviembre 2011, 13:55 pm
por ChicoMaravilla
serie de taylor para seno[solucionado]
Programación C/C++
flony 0 14,620 Último mensaje 13 Abril 2012, 05:17 am
por flony
[C][?]Cálculo del seno por suma de Taylor
Programación C/C++
Diego CCH 2 2,491 Último mensaje 25 Septiembre 2021, 17:06 pm
por Diego CCH
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines