TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Thulsa Doom en 13 de Septiembre de 2011, 05:32:39
-
Hola a todos y a todas, llevo un tiempo haciendo pequeños programas para PIC con CCS C y mirando por ahí encontré otro compilador y IDE llamado MikroC, el motivo de ello es la curiosidad y porque Mikroe tiene unas placas entrenadores que me llama mucho la atención y están muy bien de precio, también tiene otros compiladores para AVR y mas cosillas.
Pues bien, intentando ver como funciona el compilador MikroC en lo ejemplos que hay, no veo las rutinas de postprocesado como tiene el CCS C y eso me confunde un poco y por eso le consulto a ustedes los expertos de ¿donde están esas rutinas?, o ¿alguien me puede explicar de como funciona?.
la verdad es que hay mucha mas información y foros de CCS C que de MikroC ¿por qué sera?.
saludos y gracias
-
Muy buenas, yo solo utilizo MikroC y Mplab (asm), de CCS no tengo ni idea. Por lo que antes de intentar ayudarte te tengo que hacer una pregunta, a que te refieres con rutinas de postprocesado?
Un saludo.
-
yo he usado ccs, mikroc, y c18 (mplab).
El CCS lo deje hace mucho, muchas librerias y tal, pero la mayoria de funciones consume muchas instrucciones por lo cual lo utilice unicamente de aprendizaje.
Luego me pase a mikroC me gusto bastante, tienes mas el control de todo el pic, pero aun necesitaba mas control, mejor optimizacion.
Por ultimo me pase a C18 (mplab) empece con el mplabx que es un buen ide solo que esta en modo desarrollo (tiene muchos bugs), y puedo decir que es lo mejor que podia haber hecho, tengo el 100% de control del pic, codigo bastante optimo, ademas quien mejor que el desarrollador conoce sus pics, tambien decir que si sacan un pic nuevo al instante sacan su .h para poder utilizarlo.
Para mikroC recuerdo que habia poca cosa, pero tenia una buena guia, es cierto que el CCS te lo deja todo en bandeja, muchas librerias... pero no tienes el 100% del control, por lo cual con mikroC te tendras que buscar mas la vida, y eso es bueno porque asi aprendes muchisimo mas, a como funciona en realidad todos los modulos de un pic, como manejar registros sin que te lo den todo hecho.
Al mikroC si le das a help te da mucha ayuda, tanto el librerias, funciones, codigos y con sus ejemplos.
-
Gracias por las respuestas.
El postprocesado es antes de empezar con el programa le dices al compilador que micro vas ha usar, cómo vas ha manejar los puertos, si quieres teclado o lcd etc...
esto es un ejemplo, va en cabecera y es antes del programa le dice al compilador que chip vamos a utilizar y como queremos configurarlo
#Include <16f876a.h>
#include <stdlib.h>
#FUSES NOWDT,XT
#use delay(clock=4.000.000)
es que llevo tiempo aprendiendo con CCS y al intentar hacer un programa en MickroC y no ver esas rutinas me deja un poco perdido, ¿cómo sabe el compilador a que micro voy a atacar, si voy a utilizar alguna librería o que?, y es más, si el código lo paso a un txt cómo no me aparece en cabecera las directivas de postprocesado no tengo ni idea para que micro y que librerías utiliza el programa.
no se si me entienden bien.
-
vete a project/edit project. Si algo tiene bueno el mikroC es configurar los fuses, es algo que hecho de menos de este IDE, la facilidad de configuracion de los fuses y entenderlos.
El como vas a usar los puertos, el registro TRIS de toda la vida.
teclado, lcd.... a tu izquierda hay un menu de las librerias que puedes usar.
-
Gracias por las respuestas.
El postprocesado es antes de empezar con el programa le dices al compilador que micro vas ha usar, cómo vas ha manejar los puertos, si quieres teclado o lcd etc...
esto es un ejemplo, va en cabecera y es antes del programa le dice al compilador que chip vamos a utilizar y como queremos configurarlo
#Include <16f876a.h>
#include <stdlib.h>
#FUSES NOWDT,XT
#use delay(clock=4.000.000)
es que llevo tiempo aprendiendo con CCS y al intentar hacer un programa en MickroC y no ver esas rutinas me deja un poco perdido, ¿cómo sabe el compilador a que micro voy a atacar, si voy a utilizar alguna librería o que?, y es más, si el código lo paso a un txt cómo no me aparece en cabecera las directivas de postprocesado no tengo ni idea para que micro y que librerías utiliza el programa.
no se si me entienden bien.
no será pre-procesado?
-
Duende_Azul, pues si tienes razón, siento la confusión pido perdón por no hablar con propiedad.
Eso del desplegable de la izquierda ya lo había visto y ayuda mucho lo que no entiendo, por los pocos ejemplos que he visto, es como todo eso se mete en el código .c ya que como dije en CCS si lo implementa al principio. no se al igual no me explico bien
y ahora estoy probando también el HI-TECH y la verdad que la documentación está muy bien.
Y otra cosa y no se si ésta es la sección más adecuada para ello,si no fuera así me lo dicen y edito el mensaje y lo escribo donde proceda. el tema es que he estado mirando placas de desarrollo y la verdad es que no se que hacer, he visto las de Mickroe y me parecen una buena opción a ver que me pueden recomendar, saludos
-
Muy buenas, ahora sí creo entenderte. Yo utilizo mikroC pro (v 5.01). Yo lo que hago siempre para empezar un proyecto es darle a "Project/New project" y ahi ya metes el destino, nombre, pic y clock, despues te pregunta si quieres agregar proyectos (pueden ser librerias tuyas, serian los includes) y despues te pide que librerias propias de mikroC quieres utilizar, yo siempre pongo todas y si luego la utilizas se compila y sino no.
Una vez creado el proyecto puedes cambiar como te dijo MerLiNz los fuses/pic/frecuencia. Una cosa, si cambias de pic una vez creado el proyecto revisa la pestaña de la derecha "library manager" por si tiene funciones que el otro pic no tuviera, apareceran pero desmarcadas, y si las quieres utilizar tendrás que marcarlas.
Un saludo
-
Vale, ¿pero eso que seleccionas en el Porject/New project, tiene que quedar registrado en algún lado, porque en la cabecera del archivo .c no lo veo?, ¿cómo sabe el compilador que parámetros incluir en el proyecto?.
como he dicho, como estoy acostumbrado al ccs c y todo eso se queda grabado en la cabecera del archivo .C, con lo cual al abrir el .c ya te dice a que micro vas ha atacar, que velocidad de oscilador estas utilizando, como vas ha gestionar los puertos, etc, etc.....
eso es lo que no entiendo del MikroC.
saludos y gracias por vuestro tiempo en intentar ayudar a un novato como yo :)
-
Pues no se exactamente donde lo guarda, en el alchivo .c solo se ve lo que en mickroc. Lo mas probable es que lo guarde en el archivo de proyecto (estoy en el trabajo y no recuerdo la extensión de este) o cualquier otro de los archivos que genera cuando creas el proyecto.
Cuando llegue a casa le hecharé un vistazo a esos archivos.
Un saludo.
-
Acabo de hechar un vistazo a los archivos y creo que se organiza mas o menos asi:
NobreProyecto.c ---------------> Tu codigo...
NobreProyecto.cfg -------------> Los config
NobreProyecto.mcppi----------> Configuraciones (entre ellos el pic utilizado y el clock)
NobreProyecto.dct -------------> Creo que es el listado de librerias y algo mas
......
......
Un saludo
-
Vale, pues esa era la duda, es que soy muy torpe en pillar las cosas, un saludo y gracias me pondré a trapichar con el MikroC, he probado el HI-TECH y es más bien para profecionales, a ver si algún día me puedo pasar a el ya que simular en el MPLAB me gusta mucho
-
si te pones pasate al c18 del tiron.
-
Vale, le echaré un vistazo.
¿creo que es solo pra la famila PIC18 no?
-
para la 16 tienes el hitech que es parecido al c18 de microchip
-
Vale, gracias por la ayuda, es una gozada este foro, felicitaciones a todos los que participan en el