Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




"Hola mundo!" utilizando el PCW C Compiler


       



#1  "Hola mundo!" utilizando el PCW C Compiler
pic-man
Ubicación: México
Registrado: 04 Ene 2007
Mensajes: 307
citar
Bueno, este post estaría mejor para publicarlo en mi blog (si tuviera) pero espero que no les moleste que lo haga aquí, la cosa es que acabo de dar el primer paso en la programación pic desde ensamblador a C, utilizando el PCW C Compiler IDE.

Desde hace tiempo quería programar mis pics en C pero tal vez no había tenido la necesidad de hacerlo, ahora por un proyecto que se me presentó me veo obligado a realizar operaciones que bien las podría hacer en ensamblador pero me llevarían mucho tiempo así que hoy instalé el CCS y me puse a leer tutoriales, yo nunca he programado C así que aún no tengo nociones sobre esto pero logré hacer un programita que sería el equivalente al "Hola mundo!" en esto del mundo de los microcontroladores: un programa para encender y apagar un led.

Aquí dejo el código, aunque no sea nada emocionante pero es el primero que hago.

Aprovecho la ocasión para pedir ayuda sobre donde localizar literatura que me permita aprender a programar en C de una manera sencilla y de ser posible rápida. Muchas gracias y desde ahorita les aviso que ahora que intente programar en C me saldrán mil dudas y muchas de ellas es posible que las exponga en este foro.
Archivos Adjuntos

Este mensaje contiene archivos adjuntos, para verlos debes estar registrado.

#2  
bactering
Ubicación: Alacant
Registrado: 14 Oct 2007
Mensajes: 71
citar
Se podría hacer (Este podría ser un biuen comienzo para ello), todo una retaila de programillas para los que empezamos a programar en C.

Programitas simples, como el tuyo, para poder migrar al C.

Gracias Pic-man

#3  
tiopepe123
Colaborador
Ubicación: Barcelona (Espanya)
Registrado: 14 May 2006
Mensajes: 2903
citar
Mira los ejemplos que hay dentro de archivos de programa/picc/examples

Te recomiendo encarecidamente una lectura de programacion de C, solo necesitas las nociones basicas, pero esenciales como son las funciones, librerias, visibilidad.

Tambien es inportante tomar la idea de la "programacion estructurada".
Es un concepto que te permitiría hacer programas grandes y facilmente controlables.

Como sabes en asembler al final con tantos saltos y bucles tes pierdes, con una programacion estructurada no te pasara.

Te puedo garantizar que si pierdes ybo o dos dias leyendolo, ganas varias semanas de programacion y sobretodo de busqueda de fallos.

#4  
pic-man
Ubicación: México
Registrado: 04 Ene 2007
Mensajes: 307
citar
tiopepe podrias recomendarme algún libro o manual en específico? de todas formas yo ya estoy investigando por mi parte, muchas gracias

#5  
tiopepe123
Colaborador
Ubicación: Barcelona (Espanya)
Registrado: 14 May 2006
Mensajes: 2903
citar
siento no poderte ayudar, te sirve cualquier libro de C ya que lo que necesitas el concepto y no tanto los tokens (por ejemplo printf, return.).

me explico con un ejemplo de lo que te interesa:

Una funcion es un trozo de subprograma que le pasamos unos dator y nos retorna un resultado.

Te recomiendo que te pases por cualquier biblioteca y mires que tienen.

Te interesa aprender programacion estructurada o tacticas para simplificar la programacion (divide y venceras)

Visibilidad y tratamiendo de variables, matrices o estrucs y uniones
Tipos de funciones y como pasar los datos.


Solo C basico, nada de polimorfismos y cuentos de esos del C++ (es una extension) que por cierto ahora estan en el candelero por el propio creador por su ineficiencia en proyectos grandes.

#6  
pic-man
Ubicación: México
Registrado: 04 Ene 2007
Mensajes: 307
citar
Ah pues muchas gracias tiopepe, el lunes sacaré algun libro de la biblioteca de la escuela

#7  
fede-x
Ubicación: Argentina
Registrado: 12 Dic 2007
Mensajes: 4
citar
Proposito de novatos... yo soy uno mas!
y el tema es que el otro dia me instale al igual que pic-man el PWC... y la verdad me gusto mucho y me gusto el help, los ejemplos, todo!... Pero, la cosa es que cuando quise hace un input... me di cuenta que el help esta medio flaco.
Como recien empiezo con el PWC lo unico que pretendia era prender un led, por el PIN_B0, y escribi algo asi;

#include <16F84A.h>

#use (clock=400000) //esta linea no me la acuerdo bien, pero asi era.

void main (void)
{
do{
output_bit(PIB_B0, 1);
delay_ms (1000);
output_bit(PIN_BO, 0);
} while (TRUE);
}

este pedazo codigo deberia prender y apagar... ¿no?

Muchas gracias!

#8  
jose68jose
Ubicación: pinto - españa
Registrado: 09 Oct 2007
Mensajes: 3
citar
con ese codigo siempre la veras encendida te falta poner :
oid main (void)
{
do{
output_bit(PIB_B0, 1);
delay_ms (1000);
output_bit(PIN_BO, 0);
delay_bit(1000); ---- eso es lo que te falta
} while (TRUE);
}

#9  
fede-x
Ubicación: Argentina
Registrado: 12 Dic 2007
Mensajes: 4
citar
Muchas gracias por la respuesta, en cuanto llegue a casa lo pruebo...
pero asi a grandes razgos el delay_bit(1000); que hace?

#10  
heli
Ubicación: Alcalá de Henares (Madrid, España)
Registrado: 30 Ene 2007
Mensajes: 177
citar
Creo que el delay_bit es un error, una mezcla entre delay_ms y output_bit. El código correcto sería asi:
Código: Seleccionar todo

#include <16F84A.h>

#use (clock=4000000) // Importante, poner aquí la frecuencia del oscilador
//  que usa el PIC porque delay_ms() lo necesita para calcular el tiempo

void main (void)
{
do{
output_bit(PIB_B0, 1);  // pone el pin a 1
delay_ms (1000);       // espera 1 segundo
output_bit(PIN_BO, 0); // pone el pin a 0
delay_ms (1000);       // espera otro segundo,
//      sino inmediatamente se pondrá a 1 y no se verá el efecto
} while (TRUE);        // bucle infinito
}

 Responder



 Otros temas de interés 
No hay mensajes nuevos Matriz de Led 5x7
No hay mensajes nuevos Cambiar la linterna del Nokia 1100 por un led titilante
No hay mensajes nuevos Voltimetro con LED
No hay mensajes nuevos Activar un diodo led con sonido.
No hay mensajes nuevos Esctructura interna de diodos LED, Silicio, Germanio, Zener.

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||
Contacto | Acerca de | Ayuda | Normas de la Comunidad | Privacidad | Mapa de los foros
© Foros de Electrónica - Comunidad Internacional de Electrónicos