Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola, normalmente utilizo el Mplab para escribir los programas y lo hago en asembler. He visto que hay gente que con este programa (mplab) escribe en C. Hay algun sitio cuando uno crea el nuevo proyecto donde se le diga que el codigo se va ha escribir en C ???? saludos,
Hola me imagino que te refieres a lo siguiente.
Para la familia 16 e inferiores Microchip no da soporte para la programación de dichos microcontroladores en C.
Lo que hace mucha gente es "fusionar" Mplab con CCS.
http://www.ccsinfo.com/downloads.php
http://www.ccsinfo.com/downloads/setup_mplab_plugin.exe
No lo he hecho nunca todavía. Ya nos contarás.
Un saludo
gONzAO
Pues veras, yo hora estoy trabajando con el 16f876, y a lo mejor por eso no he visto a nadie que el codigo lo escriba en C con el Mplab. De todas formas he visto codigo escrito en C y tambien en ASM y la verdad es que parece más facil el Asm...... vaya que no se cual es la ventaja de escribir en C, si es que la hay..... saludos y gracias por responder.
C vs ASM
C es un lenguaje de alto nivel y es más fácil de entender a simple vista código en C que en ensamblador. Más aun si no conoces ninguno de los lenguajes. (ya se que hay excepciones, se puede programar en C muy feo y lo mismo ni el compilador lo entiende bien).
Al programar en C para pics tienes que adecuarte a cada compilador, es decir, que no hay un C para todos. Es probable que un programa de Mplab no compile en CCS y viceversa.
Si usas CCS prácticamente no tienes que saber lo que es un microcontrolador ya que con todas las funcioines que tiene es todo mucho más sencillo.
Sin embargo en ensamblador ya conoces más el interior del pic. El código que desarrollas puede estar mucho más optimizado. Tocas donde quieres y mueves la información a tu antojo. Digo esto porque ahí es donde aparece una de las grandes diferencias de ASM vs AltoNivel.
Si programas en ensamblador tienes que hacer todas las configuraciones tú, cambiar de bancos... y sin darte cuenta puedes machacar posiciones de memoria que no debías. Si lo haces en C, el compilador es "nuestro DIOS", él es el que se preocupa de cumplir todas las reglas del modelo de programación y hacer que el PIC se "coma" tu programa. Claro no todo son buenas noticias, a cambio de todo el trabajo que nos quita, él saca un código que no es el más rápido que se podía conseguir ni el que utiliza menos recursos. Éste del que hablo probablemente lo obtendríamos haciendo el programa en ensamblador.
La elección de un lenguaje de alto nivel para la programación se debe en gran parte por el tiempo que se ahorra al desarrollar software. Imagínate cuanto tardarías en multiplicar dos números con decimales y hacerles la raiz cuadrada, o enviar frases por la linea serie... Sin embargo en C se haría todo mucho más rapido. Podríamos decir que "virtualmente" con C puedes hacer más cosas.(virtualmente porque al final todo cae a ensablador y codigo máquina).
Por último añado que hoy en día los compiladores de C son bastante buenos. Si andáis pillados con el tiempo de ejecución o el tamaño de un programa repasad la programación en C y dadle vueltas al código a ver que podéis mejorar, si sigue teniendo problemas, le pegáis otro repaso y empezáis a pensar en usar otro micro, si finalmente la cosa no sale p'alante y no habéis cambiado de micro, mirad a ver si conseguís algo en ensamblador.
Un saludo
gONzAO
y para la programación de la gama de los 18 microchip si da soporte para la programación en c??? por ej. el 18f2331