Últimos Tutoriales
Chat
Licencia
| Programación PIC en C |
| Escrito por biblioman |
|
Página 1 de 19
Curso para aprender a programar en lenguaje C utilizando un compilador para PIC, en concreto el PCW compiler de la casa CCS. Cursos sobre C en Internet a miles, pero todos los que yo he visto están realizados sobre compiladores de propósito general, como Vicual C++ de Microsoft ó Builder C++ de Borlan, sin duda son excelentes compiladores que nos permiten realizar aplicaciones para ordenadores de escritorio tanto en C como en C++ (la versión orientada a objetos de C), pero no sirven para programar PIC, es decir con el ejecutable que generan al compilar no se puede programar un Microcontrolador. Lo habitual hasta ahora es que los usuarios que se inician en este apasionante mundo de la programación de Microcontroladores, sea de la marca que sea, primero lo hacían utilizando el lenguaje ensamblador, especifico no solo ya para cada marca de microcontrolador sino para cada modelo, ya que hay que conocer perfectamente los recursos de cada Microcontrolador (Número de puertos de Entrada/Salida Relojes internos, etc. ). Al principio de los tiempos de estos dispositivos esto era obligatorio ya que los recursos de memoria y velocidad de procesamiento no eran muy grandes y había que optimizar el código al máximo, esto implicaba que había que utilizar a la fuerza un lenguaje de programación de bajo nivel que bien utilizado explotara los recursos de estos dispositivos sin desperdiciar memoria y velocidad de procesamiento, pero al igual que ha ocurrido con los ordenadores personales las prestaciones de estos dispositivos ha ido creciendo exponencialmente con el tiempo, siendo ya perfectamente factible el utilizar un lenguaje de alto nivel para programar estos dispositivos y aprovecharnos de las ventajas de portabilidad que ofrecen este tipo de lenguajes, de esta manera por ejemplo podemos hacer un programa para un PIC en concreto y utilizarlo en otro de mayores prestaciones sin modificar apenas nada del código fuente. ¿Quien puede sacar provecho de este curso?. Este curso es para ti si:
Bueno alguno pensará que para aprender a programar en C vale cualquier compilador de uso general y lo que realmente interesa es saber las instrucciones de C que tengo que utilizar para configurar por ejemplo un puerto como entrada o salida, o que código tengo que utilizar para utilizar los convertidores A/D que incorporan ya casi todos los PIC, indudablemente ese es el propósito final de este curso y para ello paralelamente a él va haber otro donde se van a ver aplicaciones prácticas. Pero hay que tener en cuenta que los compiladores para Microcontroladores son específicos para estos dispositivos embebidos y no cumplen con el Estándar ANSI C al 100 %, por lo que cuando estés programando lo más seguro es que te vayas dando cuenta que una función que en el C estándar funciona perfectamente aquí te da un error al compilar. Además te irás quedando con mucho código que lo has probado y sabes que te funciona perfectamente, cuando tengas que hacer una aplicación práctica no tendrás la duda si puedes usar una determinada estructura en tu programa ó si es posible utilizar punteros o no y como hacerlo, porque ya lo sabrás a la vez que has ido aprendiendo el lenguaje de programación y no solo eso, te irás familiarizando con las instrucciones específicas del compilador: de que herramientas dispone, sus funciones precompiladas, su sistema de depuración de errores, etc. ¿Que herramientas voy a necesitar para realizar el curso?. El compilador CCS seguro, vaya es de pago ya empezamos con problemas te puedes bajar una versión de Evaluación por 30 días desde aquí:
http://www.ccsinfo.com/ccsfreedemo.php
Después de rellenar el formulario te descargas el programa de instalación y lo instalas en tu ordenador como un programa más de Windows, aunque tienes que tener en cuenta que solo podrás programar un pequeño conjunto de PIC de cada familia, otro inconveniente es que tienes que estar conectado a Internet para que te funcione si no te aparecerá esta ventanita poco amigable: ![]() Otra limitación es que el tamaño del programa no puede superar los 2K de memoria, aunque para los ejemplos que vamos a hacer aquí te sobra. Bien ya tenemos solucionado el tema del compilador, bien sea por que con la demo nos apañamos o porque tengo un amigo cojonudo que me va ha prestar uno con licencia para que pueda realizar el curso (je,je.. Bien ya tengo el compilador y puedo empezar a programar y a crear mis .HEX (para el que no lo sepa es el archivo que tenemos que cargar en nuestro PIC para que funcione). Todo esto es muy elemental para el que lo sabe, pero como dije al principio este curso está pensado también para el que no tiene ni idea de programar microcontroladores. Así es que sigamos. Una vez que tenemos nuestro .HEX tendremos que comprobar que funciona realmente para ello tenemos dos opciones:
Bien nosotros utilizaremos la segunda opción, aunque en una práctica veremos como hacerlo de la primera forma. La versión de evaluación de Proteus te la puedes descargar desde aquí:
http://www.labcenter.co.uk/download/prodemo_download.cfm
Claro que tiene limitaciones, sino no sería una demo, la principal es que no podemos guardar nuestros trabajos y la segunda es que no lleva incorporado muchas de las librerías dinámicas necesarias para realizar la simulación de algunos microcontrloladores. Mira a ver si el amigo que te dejo el compilador te puede dejar también una licencia para este magnífico Simulador.
Nota: en este sitio está prohibido el mostrar ó facilitar enlaces a lugares de descarga de dudosa reputación. Lo digo tambien para que se tenga en cuenta en el foro que próximamente estará a vuestra disposición y donde podremos exponer nuestras dudas ó experiencias sobre este tema y sobre otros que irán saliendo.
Otra cosa que quiero aclarar es que el curso va a ser todo lo práctico que pueda y la forma de proceder será la siguiente: iré mostrando uno ó varios ejemplos de cada tema y posteriormente haré una Explicación de los mismos. Yo no se vosotros pero yo cada vez que he querido aprender algo nuevo lo primero que he hecho a sido mirar los ejemplos, después vosotros tendréis que comprobar que lo que he dicho es cierto y que el ejemplo compila y funciona sin errores. Para facilitar la navegación el próximo día presentaré el índice de los temás que va a tratar el curso Aunque puede que lo vaya modificando según vallamos avanzando. Un saludo y hasta el próximo día.
|
| Última actualización el Domingo, 15 de Noviembre de 2009 12:07 |
Programación PIC en C

).
Hola riosjulioc. Escribe en el foro el código que no te sale, intentaremos ayudarte lo antes posible.
Un saludo
Alguien podria ayudarme con la libreria para LCD, no he podido sacar el mensaje, y otra pregunta como utilizo el delay??
Hola Jesus Rafael muchas gracias por tú aportación. Tú ejemplo me ha parecido muy interesante, de hecho lo he movido a un nuevo tema llamado Recursos del PIC. Uso de la memoria EEPROM interna del PIC para que este más accesible a la gente y se pueda contribuir con más ejemplos ó comentarios sobre este tema.
Muchas gracias de nuevo, y te animo a que sigas adelante.
Un saludo
que tal biblioman ya e echo el cometario y subido el codigo que te mencionaba en el tema de comentarios del curso programacion basica de microcontroladores pic
Hola Julio el próximo ejemplo será como usar el componente COMPIM de Proteus que espero tenerlo listo en lo que queda de semana, pero tomo nota de tú sugerencia de hacer un programa que comunique dos PICs por el puerto serie, me parece un tema interesante, a ver si tengo un ejemplo de ello para la semana que viene.
Un saludo
Hola Jesús Rafael sería de agradecer que aportaras tus ejemplos al sitio, con ello contribuyes a que el curso vaya para adelante. La forma más fácil de hacerlo es a través del foro, te tienes que registrar en él y ya puedes crear un nuevo tema relacionado con la temática de tú programa. Para cualquier otra consulta ó duda puedes contactar directamente conmigo desde aquí.
Un saludo
disculpa despues de que lo coloque fue que me di cuenta, es una comunicacion serial entre 2 pics
hola amigo un cordial saludo biblioman...gracias por postear este curso me parece excelente tu forma de explicar todos los ejemplos...te queria preguntar si podias hacer un programa en donde exita la comunicacion serial entre 2...porque yo lo intente asi como tu lo haces en tus programas...colocando la instruccion puts para enviar un valor entero y el gets para recibirlo pero no recibo nada...por eso queria saber si tu habias hecho este tipo de comunicacion
hola que tal buenas tardes sigo este curso por cierto excelente y he echo un codigo para ver si muy humildemente sirve de algo ya que soy principiante pero me gusto mucho este tema de los microcontroladores pero quisiera donde puedo subirlos o enviarlos de ante mano gracias y otra vez excelente tutorial
Hola arcadio. Me alegro que te guste el curso. En cuanto a tu problema copia y pega en el foro el código fuente y lo intento compilar yo, así veo lo que te pasa.
Un saludo
buenas muy bueno ese tutorial, nada mas que tengo una pregunta me puse a hacer un programa y cuando lo compilo no me da ni el archivo .hex ni el .cof, pero si me da los demas, porque sucede eso?
Me alegro que os guste el curso. En cuanto a la frecuencia de los temas, ya hize un comentario sobre ello aquí. Ya estoy preparando un nuevo tema, así que estaros pendientes.
Un Saludo
que tal buenas tardes gracias por este excelente tutorial ya cualquier duda la comentare en el foro hasta ahorita todo bien jeje
un saludo
Soy nuevo aqui, pero he observado este tutorial y me parece magnifico por eso me registre. Pero por favor diganme cada cuando avanzan con otro tema. Pero esta muy padre el tutorial felicidades!
Hola biblioman te cuento que era una pequeñes, pero alguien me colaboró y ya lo solucione, estoy fascinado con este tutorial, yo he programado en assembler durante 5 años y nunca pense que el lenguaje c fuera tan espectacular, muchas gracias
Hola riosjulioc. Me alegro que te guste el curso. En cuanto a tu problema copia y pega en el foro el código fuente y comentamos lo que te pasa.
Un saludo
Hola esta muy bueno este tutorial pero empece mal en el primer ejemplo me aparecen 8 errores *** Error 29 "Hola.c" Line 8(2,3): Function definition different from previous definition y 7 mas que dicen *** Error 43 "Hola.c" Line 8(8,9): Expecting a declaration Por favor alguien ayudeme que no tengo ni idea
oye mi hermano, muchisimas FELICIDADES!!!! pocas veces se ve un curso tan completo, desde el inicio, vas tomando de la mano al nuevo programador de C, yo realmente ya habia programado en assembler, mas in embargo emigrar de un lenguaje a otro es dificilisimo, y al dar con este tutorial y solo darle un overview me e percatado que esta muy completo, ire siguiendolo, y en dado caso de aparecer dudas o si creo que seria bueno aportar algun otro tipo de ejercicio o ejemplo como los que tuve en assembler te paso el aviso. otra vez muchas FELICIDADEs y muchas gracias Ing. Arturo Gil
Hola amigos soy nuevo en esto de la programacion en c, gracias por este tutorial que ha resuelto algunas dudas que tuve, espero sigan con este tutorial para poder aprender mas y poder colaborar con algunos programas
Hola dieguino me alegro que te guste el tutorial. En cuanto a lo que me preguntas, me imagino que te refieres a los comentarios en la cabecera de los ejemplos. Lo que hago es copiarlo y pegarlo. El IDE de CCS no trae está funcionalidad. Si no te refieres a esto haz la pregunta en el foro especificando un poco más y te responderé lo antes posible.
Un saludo
hola hermano. mUy bueno tu tutorial en especial para las personas que estamos aprendiendo a programar pics. tenia una duda, como haces para poner el comentario personalizado que tienes en la papelera, lo has insertado?? lo tienes configurado para que solo se ponga?? era una duda. (EJEMPLO3 www.aquihayapuntes.com) gracias
La explicación es minuciosa y clara. El aporte en el manejo del Terminal en Proteus es bueno, útil y recursivo; no había encontrado otro apunte que hablara sobre el manejo de esta herramienta.
Quedo en la espera de mucho más material tan bueno como éste.
Desde Colombia, Bogotá, MUCHAS GRACIAS.
Hola Milton. De pascal hay menos ejemplos que en C, pero también hay, el foro mejor que he visto es el que tienen los propios desarrolladores de mikroPascal, aunque está en ingles trae bastantes ejemplos para aprender. De todas formas si quieres más información, haz la pregunta en este foro ú en otro cualquiera, seguro que alguien tiene más información sobre este compilador que quiere compartir contigo.
Un Saludo
la idea de este curso me parecio muy chevere, pero mi consulta es si no pudiesen ayudarme para aprender a programar en micropascal que viene de la misma empresa que lanzon el microC, de antemano algunas sugerencias o foros que hablen al respecto estare agredecido mientras aprendere un poco de C gracias.....
Hola alejo. Ya casi tengo listo el próximo tema del curso, estate pendiente porque muy pronto estará publicado. En cuanto a la frecuencia en que publico los temas como ya he dicho depende de dos factores, el principal del tiempo libre de que disponga y el segundo del interés que la gente se toma en el curso, comentándolo ó participando en el foro. Como ves si visitas la página también publico otros temas relacionados con la informática y el software libre, el que dedique el tiempo a una cosa u otra depende muchas veces de las peticiones que tengo en el foro ó en los propios comentarios de los artículos. En cuanto a publicar el curso en pdf es buena idea pero cuando el curso esté terminado, hay veces que añado cosas en temas ya publicados ó corrijo algún error que se me ha pasado y algún usuario me ha advertido de ello. Hay un hilo en el foro para ello que puedes acceder desde aquí, donde cualquier sugerencia o aportación será tenida en cuenta.
Un saludo y hasta pronto.
No quería salir sin antes agradecerte enormemente por este tutorial que me ha servido de mucho, esta muy didáctico, para mi que estoy empezando a programar PICs en C.
Y bueno, te animo a seguir enriqueciendo este magnífico tutorial que asi como a mi servirá a muchos mas
Estaré a la expectativa de tus nuevas publicaciones, muchas gracias nuevamente
Saludos :)
Hola rembrandt, gracias por tú comentario, me alegro que te guste el tutorial. Con respecto a tú pregunta, lo que pasa es que el curso está dividido en dos partes, una teórica (la que por lo visto estas siguiendo) y otra práctica donde se estudia como utilizar los diferentes recursos del PIC (temporizadores, contadores, interrupciones, etc). Mira en el menú que tienes a tu izquierda: Últimos tutoriales-> índice prácticas PIC C. De todas formas, en lo sucesivo pondré los enlaces correspondientes para acceder directamente. Un Saludo
Leer más...Gracias
Muy bueno este tutorial, te animo a seguir publicando más temas
sobre este entorno.En una tarde me lei los temas publicados, pero me quede con ganas de más.
Excelente trabajo.
Mis más gratas felicitaciones.
Un cordial saludo.