Autor Tema: Microcursillo en C  (Leído 179002 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Elecman

  • PIC10
  • *
  • Mensajes: 5
RE: Microcursillo en C
« Respuesta #150 en: 01 de Diciembre de 2004, 17:04:00 »
Gracias Modulay, voy a hacerme con el programa y aprenderlo un poco, seguramente que tendreis noticias mias.

saludos, elecman......Giño

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: Microcursillo en C
« Respuesta #151 en: 01 de Diciembre de 2004, 18:56:00 »
Gracias por publicar el archivo Modulay, estuvo bien que le agregaras el DSN de Proteus. Giño Lo malo es que no he bajado la última versión de Proteus y no me lo corre Enfurruñado

Una recomendación, no hagas tantas carpetas en tu servidor, veo que hiciste una para mí, pero al momento de andar buscando información,  uno se va a cansar de buscar con tanta carpeta que va a haber, ¿no crees? Giño


Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Microcursillo en C
« Respuesta #152 en: 02 de Diciembre de 2004, 00:17:00 »
Yo lo he recompilado y no me ha dado errores. Pero no lo puedo simular.

Desconectado Sergio_Pic

  • PIC10
  • *
  • Mensajes: 2
RE: Microcursillo en C
« Respuesta #153 en: 02 de Diciembre de 2004, 06:30:00 »
Hola, soy nuevo aquí.
Antes que nada quiero daros un saludo a todos. Giño

Mi duda es muy profana a estas alturas de topic, pero agradeceria mucho vuestro consejo.

La razón de mi duda es que me gustaria conocer el software que debo utilizar para programar un pic con C. Me he instalado el PWC de CCS pero durante la instalacion me pide el mplab.ini, ¿tengo q instalar el MPLAB.exe?.
Tengo entendido que para realizar simulaciones lo mas apropiado es el PROTEUS (que es lo que gastaré ya que todavia no tengo tarjeta entrenadora...).
¿PROTEUS de limita tan solo a la simulación o podria suplantar en algún caso a un editor/compilador?

Espero que mi duda no resulte muy ofensiva Angelito

Muchas gracias.
Espero poder ayudar en el foro en un futuro cercano.

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Microcursillo en C
« Respuesta #154 en: 02 de Diciembre de 2004, 06:51:00 »
No para usar el compilador de CCS no hace falta el MPLAB.

Para "disparar" el CCS desde el MPLAB sí que hace falta que instales un programita llamado plug-in que está en la pg. de CCS.

El PROTEUS por defecto lleva un editor, que es bastante pobre. Te recomiendo un editor en colores, el del PCW de CCS lo lleva, el de MPLAB también es bueno y yo uso el ULTRAEDIT.

Un saludo

Desconectado Sergio_Pic

  • PIC10
  • *
  • Mensajes: 2
RE: Microcursillo en C
« Respuesta #155 en: 02 de Diciembre de 2004, 07:28:00 »
Muchas gracias por las aclaraciones.
Hasta pronto.

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
RE: Microcursillo en C
« Respuesta #156 en: 02 de Diciembre de 2004, 12:27:00 »
Hola

la funcion main() puede llevar main(void) o void main(), pues asi lo he visto

Kien me puede aclarar esto, por qué se usa void, para que sirve, y por qué a veces simplemente no se usa??


Gracias

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: Microcursillo en C
« Respuesta #157 en: 02 de Diciembre de 2004, 12:37:00 »
Según tengo entendido, todas las funciones de C tienen un tipo de dato y regresan un valor cuando terminan.

En este caso main es la función principal, así que no importa que no regrese algún valor al terminar de ejecutarse, por eso se le pone:

void main(void); el tipo de función es void y el tipo de dato que regresa es void, es decir, no importan.

Si no mal recuerdo se puede hacer algo así:

suma(dato_x)
{
dato_x=10;
return dato_x;
}

y en el programa se le pone

dato_a=suma();

Si ando medio perdido por favor corríjanme Sonrisa

Desconectado Khronos_Nieto

  • Colaborador
  • PIC10
  • *****
  • Mensajes: 40
RE: Microcursillo en C
« Respuesta #158 en: 02 de Diciembre de 2004, 16:54:00 »
Hola migsantiago:

Yo creo que el comando "return" es exclusivo para las funciones. La forma de definir una función (la función "Suma") sería la siguiente:


int Suma(int aux)
{
return (aux+10);
}

Esta función devuelve un valor de tipo "int", y tiene como parametro de entrada otro "int". Por lo que los tipos de datos deben de coincidir tanto en la cabecera como en la llamada a la función.


Esta función podría ser llamada de la siguiente forma

resultado=Suma(num);



Espero que sirva de ayuda...
Saludos..
"Camaradas, ni nuestro propio conocimiento conoce nuestro potencial"
- La caza del Octubre Rojo -

Desconectado Elecman

  • PIC10
  • *
  • Mensajes: 5
RE: Microcursillo en C
« Respuesta #159 en: 02 de Diciembre de 2004, 18:00:00 »
Hola pichi yo soy nuevo aqui pero creo que una función VOID es una función vacia.
¿que quiere decir?

Quiere decir que no necesita ninguna variable de entrada.
ej:
...
int a;
int x;

FUNCIÓN(VOID)
{
return a + x;
}
otra forma:
FUNCIÓN(int x,int a)
{
return a + x;
}

La diferencia de estas dos funciones radica en la forma de llamarlas:

En la primera llamariamos solo a la función y las variables X y A ya estarian definidas en otra parte del programa.(Variables globales).

En la segunda las variables X y A  solo estan definidas dentro de esa función
con lo que X y A son variables difenrentes de cualquier otra variable X y A definidas fuera de esa función.(variables locales).

Espero que te sirva de ayuda Pichi, aunque yo también soy un poco novato en C.
Saludos de Eleman.

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Microcursillo en C
« Respuesta #160 en: 02 de Diciembre de 2004, 18:08:00 »
Estoy con el amigo Khronos.
migsantiago,no estoy muy seguro de que eso se pueda hacer,al menos tal y como lo has escrito.Es posible que un procedimiento devuelva un tipo "void",pero no creo que esto se pueda usar alegremente para mezclarlo con variables numericas.
Lo que si te apuedo asegurar,tal y como apunta Khronos,es quelos parámetros de la llamada deben coincidir con los de la cabecera del procedimiento.
En cuanto a lo que comentaste sobre las carpteas de los ejemplos C,no creo que sea demasiado lío tal y como está distribuído.Si conforme vaya creciendo en contenido (y espero que crezca mucho!!!) vemos que se puede hacer de forma mas ordenada pues se cambia y ya está.
Por cierto,pocher me volvió a enviar el ejemplo de pwm que no funcionaba,lo he probado y ya simula a la perfección.Ya está disponible para bajar.
Saludos

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: Microcursillo en C
« Respuesta #161 en: 03 de Diciembre de 2004, 05:21:00 »
Escrito originalmente por pic-chi
Hola

la funcion main() puede llevar main(void) o void main(), pues asi lo he visto

Kien me puede aclarar esto, por qué se usa void, para que sirve, y por qué a veces simplemente no se usa??


Gracias




Hasta donde da mi corto entendimiento del C, cuando declaras una funcion el modificador colocado antes del nombre indica que tipo de datos devuelve esa funcion, para VOID le indicas que la funcion no devuelve nada.
En el caso del modificador puesto dentro de los parentesis, indicara el tipo de datos que puede recibir como parametros esta funcion, para VOID nuevamente indica que no necesita estos parametros.

Segun creo si declaras VOID Funcion (VOID) o Funcion () es exactamente lo mismo, en apariencia el modificador VOID es el tomado por default cuando no existe otro modificador declarado.

Espero haya dejado algo claro...Sonrisa GiganteSonrisa Gigante
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Microcursillo en C
« Respuesta #162 en: 04 de Diciembre de 2004, 02:24:00 »
Tras darle unas pocas vueltas al asunto,termino por darte la razón,migsantiago,con respecto a la distribución de los archivos en el servidor.A poco que ha crecido el contenido,ya se estaba haciendo algo enredado,así que he procurado hacerlo más simple para que sea más fácil encontrar las cosas.
Más ejemplos:
Uso del timer1,obra de manex_1987:

http://personal.auna.com/asencio5/Ejemplos%20C/TIMER/

Ejemplo de uso del acelerómetro ADXL213,por el amigo Nocturno66:

http://personal.auna.com/asencio5/Ejemplos%20C/PERIFERICOS/

Saludos


Desconectado oshow

  • PIC18
  • ****
  • Mensajes: 321
RE: Microcursillo en C
« Respuesta #163 en: 04 de Diciembre de 2004, 06:47:00 »
Escrito originalmente por MGLSOFT

Segun creo si declaras VOID Funcion (VOID) o Funcion () es exactamente lo mismo, en apariencia el modificador VOID es el tomado por default cuando no existe otro modificador declarado.




Creo que eso es en C++, pero en C el tipo de retorno y los parametros de las funciones por defecto son enteros (int), lo que no se ahora es como lo toma el compilador ccs, llevo una temporada larga sin tocarlo y estoy dudandoAvergonzadoAvergonzadoAvergonzado.

Un saludo.

Desconectado David_TGN

  • PIC10
  • *
  • Mensajes: 5
RE: Microcursillo en C
« Respuesta #164 en: 04 de Diciembre de 2004, 11:10:00 »
Buenas, a ver si alguien me puede explicar como programar los timers (0, 1 y 3) del pic 18f252 para generar interrupciones cada 4.8 microseg. y cada 0.8 microseg.

¿Es posible?¿se tiene que configurar el pic para 32 MHz no?

Si se puede hacer, una vez dentro del timerX hay que borrar por software el registro de habilitación por interrupción.

Seria interesante verlo para compiler c18


yo estoy en ello, cuando más o menos funcione os lo pongo, ..pero mientras alguien puede sugerirme algo?

hasta luego cracks


 

anything