TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Meta en 13 de Enero de 2008, 22:06:05

Título: asm o C
Publicado por: Meta en 13 de Enero de 2008, 22:06:05
Me compré el libro del www.pic16f84a.com y está muy bien. Sólo enseña ensamblador (ASM) y nada de C.

Según he leído por ahí, si usas C lenguaje de alto nivel al pasarlo a asm (que es obligatorio), ocupa muchos más líneas de código que me arriesgo a que no me quepa en la memoria flash, frente a esto, programar directamente en asm que es lo que estoy aprendiendo son muchos líneas de código.

Es más fácil entender el C que el asm, pero he notado aquí que no saben programar micros en asm, pero en C lo sabe a lo bestia.

Creo que como mínimo es aprender asm está bien para resolver problemas en caso que no disponga el C en ese momento.

Para ustedes, me pueden decir más opiniones sobre las ventajas y desventajas entre ASM y C y el por qué.
Título: Re: asm o C
Publicado por: poseidon20 en 13 de Enero de 2008, 22:31:26
Mi estimado meta, en este foro no solo se programa en C, sino en asm, basic y demas lenguajes que se pueda. ahora lo que pasa es que muchos prefieren el c ya que es como bien tu dijistes un lenguaje de alto nivel, pero como tal, este genera mas codigo asm para hacer una determinada accion, por eso este elnguaje esta mejor aplicado para aplicaciones complejas y uC que dispongan de muy buen RAM, pero te aseguro qeu hay gente que trabaja tan bien en ASM como los que que trabajan en C, lo bueno del asm es que tu tienes el control del programa, osea cuando se presenta una falla sabes en que linea puede estar el probelma, pero en C no sabes si es el la version del compilador o tu el del problema. como te digo hay algunos que les es facil asm y otros C y esto tambien dependiendo de lo que vas a hacer y la complejidad de tu programa. A mi entender deberias saber de ambos, ya que el asm es como el DOS y el C vendria a ser windows  :mrgreen:
Título: Re: asm o C
Publicado por: Cryn en 14 de Enero de 2008, 18:01:16
Citar
A mi entender deberias saber de ambos, ya que el asm es como el DOS y el C vendria a ser windows  Mr. Green

esa comparacion se aporxima a lo que es :D ya que en asm debes hacer todo paso a paso, en cambio en C hay funciones que te evita hacer 'todo' y se hace mas sencillo

todo siempre tiene sus ventajas y desventajas uno respecto al otro, asi que en cuanto aprendas algo de C tu mismo podras ver esas diferencias. ASM siempre sirve para comenzar, pero para proyectos grandes, talvez sea mejor usar un lenguaje de alto nivel, claro qeu con asm es posible, pero mas moroso a la vez :mrgreen:

solo es mi punto de vista
Título: Re: asm o C
Publicado por: PalitroqueZ en 14 de Enero de 2008, 18:30:50
mira acá:


- Tema Dividido. ¿ASM Vs C? (http://www.todopic.com.ar/foros/index.php?topic=14503.0)

- Ventajas y desventajas de los compiladores (http://www.todopic.com.ar/foros/index.php?topic=12688.0)





Título: Re: asm o C
Publicado por: Enigma en 15 de Enero de 2008, 00:13:52
Bueno si me preguntas a mi, he trabajado con los dos lenguajes, y creeme que aunque muchos dicen que C es lo máximo, pues, bueno si es fino porque te ahorra muuuuchas líneas de intsrucción, pero he aquí por lo que prefiero ASM:

Cita de: POSEIDON20
lo bueno del asm es que tu tienes el control del programa, osea cuando se presenta una falla sabes en que linea puede estar el probelma, pero en C no sabes si es el la versión del compilador o tu el del problema.

Estoy totalmente de acuerdo con esto.... Cuando hice mi primer programa en C, naguara me daban un poco de errores y empece a corregir, y corregir, y dure más de una dia para el programa corriera sin errores... Añadiendo mi nula experiencia en este lenguaje...

Pero cuando hice mi primer programa en ASM, pues tenia errores, pero detectarlos no me llevo más de medio dia, añadiendo también que no sabía nada de ASM para aquel momento...

Si bien es cierto que ASM es demás de largo porque hay que hacer todo paso a paso (esto es lo que me gusta, porque se lo que estoy haciendo :D), pues en C uno no sabe casi siempre lo que hace, al menos internamente no se sabe como están ejecutandose las instrucciones, puesto que C es como una mascarita de ASM para vrindarle más accesibilidad y facilidad a los programadores....

En fin, todo depende del gusto de cada quien... A mi en lo particular me gusta hacer las cosas pasito a pasito y estar encima de lo que voy haciendo, por eso es que ASM es mi lengiçuaje de programación favorito :mrgreen:...

Aunque esto no quiere decir que no programaré en C, si lo har, ya que es un lenguaje que se destin a futuro!!!! :-)

Atte: Enigma... La llanerita de Guayana :-)
Título: Re: asm o C
Publicado por: jfh900 en 15 de Enero de 2008, 00:34:22
Por cierto, el que haya programado un PIC32 en asm que lo diga. No creo que todo este foro los que hay aquí tengan un PIC32 con lo caro que salen hasta las grabadoras.

Te sorprenderías si supieras la cantidad de gente de este foro que tiene PIC32.

Un saludo
Título: Re: asm o C
Publicado por: maunix en 15 de Enero de 2008, 08:18:47
De hecho son muy económicas. No sé en donde habrás checado los precios. Ya mucha gente está programado los PIC32, en C y an ASM, puesto que no hay nada de misterioso ni de difícil en ellos. No porque sean los más nuevos la industria y los usuarios se van a volcar inmediatamente a ellos. Las cosas en el mundo electrónico real no funcionan de esa manera.

JCC40 ¿No funcionan de qué forma?  No entiendo a qué haces referencia con esa frase.
Título: Re: asm o C
Publicado por: RedPic en 15 de Enero de 2008, 18:04:18
Apoyando todos estos planteamientos:

Me desespero cuando insistentemente preguntan ¿Qué PIC? ¿Que Idioma?  ¿Cuantos Bits 8, 16, 32? ...

¿Por qué no se preguntan lo mismo con el tamaño o tipo de sus zapatos? O mejor dicho ¿por qué no se contestan igual que a la pregunta sobre los zapatos? Evidentemente es : El que necesites. Que no serán los mismos tus píes los tuyos que los míos ni ir a una cena de gala que a hacer deporte.

Si necesitas precisión extrema debes contar ciclos de reloj e incrementos de puntero de programa usa ASM
Si necesitas desarrollar rápido usa C o Basic
Si necesitas tamaño físico mínimo no escojas un PIC32 TQFP de 100 patillas ni un PIC18 DIP de 40 patillas sino un 12F
Si necesitas USB no selecciones un PIC16 sino un 18FX550
Si necesitas A/D no selecciones un 16F628 sino un 16F876
Si necesitas mas o menos EEPROM interna, o RAM, o Pines, u Oscilador interno, o PLL, o 2 USART, ... o  ... o .... o ....

Como todo en la vida, si necesitas un sombrero no uses el de un burro, te tapará los ojos y no te dejará ver nada.
Título: Re: asm o C
Publicado por: Nocturno en 16 de Enero de 2008, 04:27:24
He leído por ahí que la propia Microchip.com van a potenciar el lenguaje C y meterá ejemplos tanto en asm y C en plan bestia.

¡No me lo puedo creer!,  :shock: ¿quién te ha dado el soplo?
Título: Re: asm o C
Publicado por: Meta en 16 de Enero de 2008, 04:36:47
LA noticia era a finales del 2007. Se que ya está eso del C, pero quiere hacerlo más aún  y más noticias sobre ello que llegue a la gente para convencer sobre todo a indecisos de introducirse a los pic.
Título: Re: asm o C
Publicado por: MGLSOFT en 16 de Enero de 2008, 08:52:10
A mi me dijeron que AVR tambien esta por sacar un compilador de C !!! :shock: :shock:
Y me chiflaron que Motorola tambien anda en eso !!! :mrgreen: :mrgreen:
Título: Re: asm o C
Publicado por: maunix en 16 de Enero de 2008, 09:10:55
No existen indecisos en este mercado, ni hace falta a quien convencer, el mercado para los PICs (y los microcontroladores en general) es tan amplio que sólo hasta que busques por ahí información de cuánto $$$ se mueve al año y cuántos micros se venden te darás una idea.

Tal vez meta se haya expresado mal pero algo de cierto hay en que cuantos más ejemplos, mas gratuitas sean las herramientas y más fácil sea conseguir la información , más tentador es para alguien que comienza volcarse a una familia de microcontroladores.

Comencé con los pics porque el MPLAB era gratis, porque los pics eran bastante económicos y porque había ejemplos como para 'arrancar' de una manera fácil, internet por aquellos días no era tan fácil de acceder, al menos no en mi país.  Usar los freescale (motorola por aquel entonces) era más caro, el codewarrior si uno lo quería legal salia (y sale) u$s 8000... demasiado para alguien que comenzaba a dar los primeros pasos.

Creo que su política de notas de aplicación, ejemplos, entorno gratuito y buenos microcontroladores hizo de Microchip la número 1 en micros de 8 bits.  En los 90 vendian algunos millones, a partir de la década del 2000 pasaron a vender cientos de milones por año, totalizando ya los 5mil millones de microcontroladores

No se si la pregunta será "si hay o no indecisos" pero si es cierto que en ocasiones uno debe elegir cual es el micro más adecuado para una aplicación en específico y cuando el proyecto es largo y complejo, en ocasiones uno ya debe abarajar muchas marcas y modelos.  En ese escenario uno ve que tipo de herramientas hay disponibles, a qué costo, con qué facilidad se consiguen kits de desarrollo, cuanto código fuente hay disponible, etc.  En estos momentos tengo posibilidades de comenzar un proyecto complejo y la verdad tengo que decidirme entre un pic32, un arm9 o algún otro (avr32, coldfire, etc), y en estas cuestiones muchas son las variables que entran en juego y la facilidad para 'arrancar trabajando con algo' no es un tema menor y es alli donde los ejemplos pueden inclinar la balanza de un lado o el otro.  ¿indeciso? tal vez...

Rabbit por ejemplo, hace gran uso de sus notas de aplicación listas para usar con código que te venden... y eso lo hizo desde que comenzaron.  Para paises donde gastar 100, 200 o 300 u$s en un código que ya funciona no es dinero porque lo gastan en 1 día de honorarios de ingeniero, entonces es una buena alternativ y tienen muchos clientes.

En fin, es cierto que microchip tiene ejemplos en C hace tiempo pero también es cierto que no estan ni bien organizadas ni mucho menos.  Muchos se quejan de que muchos development board solo tienen código en assembly y no en C... ni C18 ni C30 ni nada.  Cómo ejemplo cito la PICDEM™ 2 Plus , en el foro de microchip es frecuente leer de que alguien se queja de que no hay ejemplos en C  y solo en assembly.

Saludos
Título: Re: asm o C
Publicado por: Meta en 16 de Enero de 2008, 14:32:14
Citar
No se si la pregunta será "si hay o no indecisos" pero si es cierto que en ocasiones uno debe elegir cual es el micro más adecuado para una aplicación en específico y cuando el proyecto es largo y complejo, en ocasiones uno ya debe abarajar muchas marcas y modelos.


A eso me refiero precisamente. Si tienes un proyecto que encarar, decides de manera muy razonada cuál micro y plataforma utilizar, y lo usas.

Me refiero a personas que están indecisa en decidir o no a introducirse al mundo de los pic.