hola
soy nuevo en el tema y pido disculpas porque quiero dar vuelta el tema ,
Que lenguaje me recomiendan para empezar y que no fracase .trabajo en electronica y es un desafio para mi aprender a usar pic.
muchas gracias
Hola joseana, todos los lenguajes te van a ser complicados al comenzar, ademas hay distintos compiladores. Voy a resumir algunos
ASM ( ensamblador ) : Esta es el lenguaje de nivel mas bajo y es casi una traduccion del lenguaje maquina. Este lenguaje tiene algunas ventajas y algunas desventajas. Las ventajas son que vas a aprender MUCHO pero MUCHO del micro, ya que te exige si o si aprender como funciona internamente el mismo ( lo cual esta en el datasheet ) y es que no necesitas saber demasiado sobre el lenguaje solo necesitas el datasheet del micro que tiene explicada cada instruccion, conoces como se comporta el micro y los tiempos empleados en realizar algo, la mayor desventaja es que necesitas mucho mas para hacer algo que en lenguajes de alto nivel, por ejemplo una division que en otro lenguaje es 1 sola linea, aca tenes que pensar como la vas a hacer, por ejemplo restar continuamente el valor y asi obtener el resultado.
C : Este creo que es el lenguaje mas usado para todos los micros, no solo PIC, sino los de ST, NXP, etc. Por lo cual vale la pena aprenderlo. Como es un lenguaje de alto nivel hacer algo se vuelve mucho mas simple. Las desventajas es la de todos los lenguajes de alto nivel, y es que necesitas un "tutorial" como para comenzar , y cuesta ir aprendiendo todo lo referente al mismo ( ya que hay muchas cosas ), ademas al ser de alto nivel consume mas memoria Flash si los compiladores no optimizan la memoria.
Por mi este seria el lenguaje a seguir. Ya que te permite migrar de microcontrolador con pocos problemas.
Tutoriales sobre C hay muchos en internet, por que vas a tener que aprender sobre las funciones, variables, condicionales/loops ( if , while, for ), etc, Como en la PC se puede programar en C hay bastantes como dije, y al menos en la forma son parecidos.
Respecto a los compiladores, los que mas se manejan aca son: XC8 ( del mismo Microchip ) y CCS, cada uno con una ventaja y desventaja. XC8 es C pero se maneja como en ASM, es decir tenes que modificar los registros con los bits que queres vos. Luego te podes hacer funciones o podes usar las funciones que trae XC8 y ahorrarte eso. Por otra parte CCS tiene otra forma distinta de realizar las cosas, tiene algunas cosas muy buenas como cuando queres hacer una comunicacion ( I2C , UART-RS232, SPI ) pero otras cosas que me parecen malas para la gente que recien comienza y que se desfasa de lo que dice el datasheet del micro.
BASICNo soy fanatico de este lenguaje, pero todas empresas usan C, tal ves los usuarios que usan BASIC lo sigan usando por su conocimiento del lenguaje. Pero al menos yo siento que no vale la pena complicarsela cuando uno comienza.
Asi que mi recomendacion es ir por C, yo personalmente prefiero XC8 por que se que estoy cargandole al micro y tiene una relacion estrecha con el datasheet. Pero no puedo dejar de obviar muchas facilidades que trae CCS, a pesar que ambos son C, tiene funciones que manejan el micro y se realizan de distinta forma. Asi que la decision final es tuya. Y como te decia, para comenzar podes leer un tutorial de C para ir teniendo una idea, y aca en el foro hay unos codigos ejemplos simples de XC8, como encender un led y no se que mas.