| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
colomafenix32
Registrado: 05 Ago 2013 Mensajes: 2 Ubicación: chile
| Publicado: 05/08/2013 11:18 am | | | Título: duda con funcion void |
| hola a todos soy nuevo en el foro y junto con saludar quisiera hacer una pregunta sobre la función void ya que me tiene bastante complicado, la duda es la siguiente. en el colegio tuve que hacer que un pic me entregara una señal senoidal de 8 bit lo cual pude realizar, el profesor nos entrego un código y nos dijo que lo modificáramos para nuestra necesidad, y la verdad es que comprendo casi todo el código menos la función void, se que se utiliza para indicar que no se espera valor de retorno, si alguien me podria explicar que es lo que hace casa vez que aparece la funcion void estaría muy agradecido, a continuación agrego el codigo desde ya muchas gracias por cualquier respuesta
#include <16f877.h> #use delay(clock=4000000) // Frecuencia del reloj interno elegido #byte portd = 0x08 // Para manejar con una sola orden los puertos de Salida (GP0,GP1,GP2,GP3) #byte trisd = 0x88 // Defino porque no está en 12F675.h TRISIO dir 0x85 #use fast_io (d) // No sé bien para que sirve. Void Onda(Void);
////////////////////////////////////////////////////////////////////////////////
void main() {
trisd = 0x00; // Todos salida. portd = 0; // Apaga todos los puertos para que no se genere ningun pulso espúreo.
Onda();
}
Void Onda(Void) {
while(true) { portd = 127; // comienZo onda sinusoidal primer cuarto de onda portd = 128; portd = 129; delay_us (80); portd = 130; portd = 131; _________________ todo el conocimiento biene de la experiencia previa |
| | Volver arriba | |  | rir3760

Registrado: 01 Oct 2004 Mensajes: 7517 Ubicación: Mexico
| Publicado: 07/08/2013 8:28 am | | | Título: |
| Un problema con el programa es que utilizas un dialecto de C que es particular a la plataforma que estas utilizando (indicas que es programación de PICS). Aquí lo mejor que podemos hacer es esperar a alguien con experiencia en el tema que pueda darte una explicación a detalle.
Otro problema es que la función esta incompleta, falta la parte final.
El fragmento de la función es:
| Código: | Void Onda(Void) { while(true){ portd = 127; // comienZo onda sinusoidal primer cuarto de onda portd = 128; portd = 129; delay_us (80); portd = 130; portd = 131; |
En ella tienes un bucle infinito (nunca termina) donde se realizan tres asignaciones a "portd", una pausa (la llamada a delay_us) y otras dos asignaciones.
Un saludo _________________ C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language |
| | Volver arriba | |  | colomafenix32
Registrado: 05 Ago 2013 Mensajes: 2 Ubicación: chile
| Publicado: 07/08/2013 6:38 pm | | | Título: hola |
| holas a todos y sobre todo a rir3760 que respondió el mensaje, les cuento ya logre descifrar programa y aclara mi duda de todos formas muchas gracias por la respuesta me despido atte. colomafenix32 _________________ todo el conocimiento biene de la experiencia previa |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |