Autor Tema: ASM ó C++ EN PIC  (Leído 3290 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado velaki

  • Colaborador
  • PIC10
  • *****
  • Mensajes: 22
ASM ó C++ EN PIC
« en: 14 de Abril de 2007, 17:08:55 »
SALUDOS COMPAÑEROS, Resulta que de nuevo estoy dandole caña al mundillo de los pics, hace tiempo utilizaba el ASM, y bueno, aunque al principio me costó un poco pillarlo, al final, hice mis pinitos, pero ahora tras mirar en varios foros, veo que normalmente la gente usa C o C++ (aunque no se exactamente la diferencia entre ambos) se que el lenguaje C es mas conocido y para micros mas grandes como el 8051 de intel, es mas manejable, pues bien, akimi  duda, SIGO CON ASM, O MEJOR ME PASO A C o C++?? , Espero que me recomendeis uno de los dos (C o C++) o si es mejor seguir con ASM, aunque luego me resulte mas complicado.  En principio me gustaria aprender para hacer mis proyectitos y mis inventillos, THANKS  FOR ALL.....

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Re: ASM ó C++ EN PIC
« Respuesta #1 en: 14 de Abril de 2007, 17:15:12 »
Un fanático del Assembler te recomienda que te pases al C pero q no dejes de lado el assembler ya que siempre desde C puedes ingresar pequeñas porciones de Código en Assembler cosa q no se puede cuando trabajas directamente en Assembler

Otra cosa, el C te servira para afrontar los pic de gama alta como los 18f y los DSPIC asi q no hay mas que decir , suerte!!!
El conocimiento se consigue a base de esfuerzo...

Desconectado Mario87

  • PIC10
  • *
  • Mensajes: 25
Re: ASM ó C++ EN PIC
« Respuesta #2 en: 14 de Abril de 2007, 21:12:20 »
Siempre es bueno tener unas nociones de ASM ya que además de poder acoplarlo en C a veces puede ser necesario para optimizar o tener un control más preciso.
De todas maneras pienso que es mejor adaptarse casi por completo al C, con apenas unas pocas líneas de código consigues hacer lo mismo que en ensamblador, y además es mucho más cercano al programador, y dispone de librerias para que manejar periféricos sea coser y cantar :mrgreen:
Además, si tienes un programa excesivamente largo (cosa que pocas veces habrá, por otra parte) se hace muchísimo mas sencillo de localizar un problema.

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
Re: ASM ó C++ EN PIC
« Respuesta #3 en: 15 de Abril de 2007, 09:19:50 »
Te recomiendo que te pases al C, depende del compilador que uses, verás que la forma de actuar con los registros en C y ASM no es tan diferente, eso sí, el C te permite hacer bucles en un par de lineas.

El ASM es bueno para cosas precias, aunque el C mi opinión personal, es que con el C ya se puede hacer 'casi' de todo.


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado deox

  • PIC10
  • *
  • Mensajes: 16
Re: ASM ó C++ EN PIC
« Respuesta #4 en: 19 de Abril de 2007, 14:41:44 »
Esta claro para todos que la diferencia entre C y ASM es muy grande, si tenes un pic chico y pensas hacer un programa muy basico usar ASM es considerable, ahora que si tenes un PIC grande con mucha memoria y tu programa es muy complejo, yo diria que los puntos a favor del C son muchos.
Estan quienes defienden el ASM y el C, incluso el basic, pero lo cierto es que la madurez de los compiladores C ha alcanzado un punto tal que hoy en dia incluso los pics mas chicos se pueden programar en C sin problemas.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: ASM ó C++ EN PIC
« Respuesta #5 en: 19 de Abril de 2007, 16:29:19 »
Estan quienes defienden el ASM y el C

El que defienda el ASSEMBLER vs el C, lo hará en un contexto determinado.  Me ha tocado hacer alguna que otra aplicación en tiempo real y de bajo costo, que no imagino haberla hecho en C porque en assembler ocupaba la totalidad de la memoria de programa del micro en cuestión. 

Hubo solo una persona que he conocido en este foro que defendía al ASM vs el C en todos los casos... aunque sus argumentos se quedaban vacíos cuando alguien le mostraba otro punto de vista... pero bueno, hay para todos los gustos.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado pollastre

  • PIC12
  • **
  • Mensajes: 65
Re: ASM ó C++ EN PIC
« Respuesta #6 en: 22 de Abril de 2007, 15:30:08 »
Personalmente, yo soy un enamorado del assembler y del control preciso y absoluto que proporciona sobre el PIC. Para mí, cosas como saber en qué preciso momento un flanco va a subir, de forma tal que tengo que echar una instrucción dos ciclos más alante o más atrás para que funcione correctamente.... para mí, eso no tiene precio  :mrgreen:

Eso sí, reconozco que sólo he trabajado con la familia 16X. Dicen por ahí que la 18 ya es suficientemente complicada como para no merecer la pena trabajarla en assembler (???). Yo supongo que lo que en realidad quieren decir es que "tienen suficiente RAM como para poder permitirte el lujo de NO usar el assembler".

Para mí, y esto es sólo una opinión personal.... el hecho de irnos a un lenguaje de alto nivel como C/C++ con los PIC, es algo así como quitarle la "magia" al asunto, como degradarlo a algo mundano. Para alto nivel ya tenemos miles de situaciones cotidianas, desde programar en un PC, pasando por PHP/ASP... hoy en día, donde incluso al programador experimentado le son escondidos todos los detalles de un sistema operativo moderno, los PIC proporcionan una oportunidad única de volver a los buenos tiempos de la década de los 80, cuando los hombres eran hombres y no existía tal cosa como eso del  "alto nivel"  :mrgreen:

En fin, no sé, como decía el torero : "tiene que haber gente pa tó"  :mrgreen:

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: ASM ó C++ EN PIC
« Respuesta #7 en: 23 de Abril de 2007, 07:39:35 »
pollastre, está muy ligado al tipo de aplicaciones que desarrolles.   Como dije antes, si solo controlarás pulsos y contaras cosas, y la lógica del código está bastante contenida, el assembler no tiene precio (y aquí tienes a otro fan del assembler).

De todas formas, el desarrollo de "otro tipo" de aplicaciones me obligó a irme al C.

Te doy un ejemplo, fíjate como hacer una conexión UDP o un server TCP todo hecho en assembler... controlando un integrado como un RTL8019AS o similar.  Lo mismo el uso del USB todo en assembler... con encima algunos cambios "sobre la marcha" en el protocolo de alto nivel que uses! Puedes estar meses en assembler.  Y te habla alguien que hace uso de stack por software en assembler, paso de parámetros a subrutinas en assembler, uso de subrutinas reubicables en assembler y demás yerbas.  osea, no hago todo con equ y esas cosas, y aún así te digo que lleva "mucho" tiempo hacerlo en assembler y además que no se justifica, para esos casos, claro está.

Otro ejemplo, cuando tienes un PID que debes ajustar, sus constantes y fórmula de cálculo cambian frecuentemente, te imaginas haciendo todo eso en assembler? aún teniendo rutinas para multiplicar, dividir y operar en generar con números float?

Repito, a mi entender, todo está en el tipo de aplicaciones que desarrolles...

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Expo3871

  • PIC10
  • *
  • Mensajes: 5
Re: ASM ó C++ EN PIC
« Respuesta #8 en: 23 de Abril de 2007, 11:43:42 »
Saludos, te escribo por que comentaste algo de un server TCP controlando un integrado RTL8019AS para ver si tenias alguna informacion buena sobre eso que me puedas pasar ya que me ha tocado desarrollar un proyecto relacionado con eso...

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: ASM ó C++ EN PIC
« Respuesta #9 en: 23 de Abril de 2007, 12:10:17 »
Saludos, te escribo por que comentaste algo de un server TCP controlando un integrado RTL8019AS para ver si tenias alguna informacion buena sobre eso que me puedas pasar ya que me ha tocado desarrollar un proyecto relacionado con eso...

El stack tcp/ip de microchip versa sobre eso.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: ASM ó C++ EN PIC
« Respuesta #10 en: 24 de Abril de 2007, 15:23:22 »
Es un viejo debate en el foro: ¿bajo nivel o alto nivel, ser o no ser?

Obviamente si los argumentos son velocidad de proceso y tamaño de programa gana el ASM, como de sobra están argumentado aquí algunos compañeros.

Si en el otro lado de la balanza poner parámetros como Tiempo de desarrollo, dificultad de desarrollo o incluso "lo hago en C porque no tengo ni pajolera idea de ASM y mi neurona sólo me da para aprender C mientras me tomo un ron", quizás esté más equilibrada o incluso se vuelque a este lado.


 

anything