TODOPIC

Microcontroladores PIC => Programadores => Mensaje iniciado por: el_errante_33 en 20 de Marzo de 2006, 13:09:00

Título: Odio el Assembler
Publicado por: el_errante_33 en 20 de Marzo de 2006, 13:09:00
Existe algún lenguaje de Programación que sea más "humano" e igual de completo ???

Estuve leyendo el PIC basic pro y el Niple pero no me convencen demasiado

No existe alguna libreria a través de la cual se pueda manejar el assembler como un objeto en visual basic 6 para manejarlo en forma más accesible?


gracias
Título: RE: Odio el Assembler
Publicado por: elmasvital en 20 de Marzo de 2006, 19:13:00
Escrito originalmente por el_errante_33
Existe algún lenguaje de Programación que sea más "humano" e igual de completo ???

Estuve leyendo el PIC basic pro y el Niple pero no me convencen demasiado

No existe alguna libreria a través de la cual se pueda manejar el assembler como un objeto en visual basic 6 para manejarlo en forma más accesible?


gracias


bueno pic basic pro y los demas lenguajes no son mas que compiladores que te abstraen dle assembler...

el lenguaje mas adecaudo siempre será c pero sobre gustos....
Título: RE: Odio el Assembler
Publicado por: el_errante_33 en 21 de Marzo de 2006, 07:35:00
en realidad busco encarar un lenguaje lo suficientemente accesible como para hacer aplicaciones básicas y a la vez lo suficientemente poderoso y versátil para que pueda crecer junto con los proyectos .-

programar directamente en assembler me parece que es como usar una regla de cálculo mientras existen las calculadoras cientificas, se pierde demasiado tiempo en comprender y aplicar las sentencias , prefiero tener algo más accesible y más dinámico y flexible y concentrarme más en la lógica del procedimiento

que aplicación en c sería la más conveniente? ( por ejemplo visual c ++ esta bien? ya que empiezo de cero quisiera hacerlo en el entorno más conveniente )

gracias, un abrazo
Título: RE: Odio el Assembler
Publicado por: Sispic en 21 de Marzo de 2006, 14:23:00

si lo que quieres es aprender de verdad yo me tomaria unas copillas con el asm antes que nada , unas juergecillas vienen muy bien antes de la gran fiesta  .



Título: RE: Odio el Assembler
Publicado por: el_errante_33 en 22 de Marzo de 2006, 09:11:00
ok, le entraremos al asemmbler entonces, gracias
Título: RE: Odio el Assembler
Publicado por: vszener en 23 de Marzo de 2006, 08:17:00
Coincido que hay que saber algo de asm, despues pasar a lenguajes de medio-alto nivel pues lo recalcar lo que ya te han comentado anteriormente, dicen que el basic es el lenguaje mas facil de aprender, aunque yo te recomendaria el lenguaje c, ya que todo apunta a que sera el lenguaje predominante en un futuro no muy lejano...


Suerte!!!Giño
Título: RE: Odio el Assembler
Publicado por: PalitroqueZ en 24 de Marzo de 2006, 11:43:00
hola, que tal? me inclino por lo que dice vszener . el ensamblador es la base de todo, ya que si tienes un problema usando un lenguaje de alto nivel, terminaras mirando el código en asm, los lenguajes de alto nivel sirven para agilizar las cosas, por lo que he visto y usado del lenguaje C ( PCWH ) existe una buena proporción entre velocidad de ejecución y comodidad. Saludos
Título: RE: Odio el Assembler
Publicado por: Nocturno en 24 de Marzo de 2006, 11:49:00
Yo también Odio el assembler.
No pienso discutir su utilidad, que sin duda la tiene, y además los que lo dominan tienen una ventaja sobre los que no queremos ni verlo.
Pero puedo asegurar una cosa: SE PUEDE VIVIR SIN ASSEMBLER

Ea, qué agusto me he quedao.
Título: RE: Odio el Assembler
Publicado por: Nelson_s en 24 de Marzo de 2006, 13:25:00
El problema de no saber programar en ensamblador es que realmente no sabes como hacen las cosas el resto de los lenguajes ( como PIC C, etc ), entonces cuando se presenta un problema con el programa que estes desarrollando no sabes si es culpa la libreria que bajaste de internet, del pic, del compilador, etc.

Para mi eso es como andar a ciegas, porque nunca estas seguro de lo que estas haciendo..
Título: RE: Odio el Assembler
Publicado por: vszener en 24 de Marzo de 2006, 13:57:00
Amigo Nelson_s discrepo en lo que dices, eso de ir a ciegas me parece que no es asi, en lenguaje de medio-alto nivel como es el de la casa CCS se puede trabajar perfectamente sabiendo lo que haces o lo que dejas de hacer, es mas dicho compilador es flexible y te permite declarar instrucciones y direcciones de memoria las cuales puedes usar como el asm pero en alto nivel, en este caso como bien dice el amigo nocturno66 se puede vivir tranquilamente sin el asm, ahora bien, yo recomiendo una inicializacion en asm simplemente para tareas extremas poder tener el recurso de trabajar en asm y ver si es mas factible.


Suerte!!!Giño
Título: RE: Odio el Assembler
Publicado por: RedPic en 24 de Marzo de 2006, 16:02:00
Para un dinosaurio antidiluviano como yo (Sonrisa) que ha llegado a ensamblar a mano
(escribiendo directamente en el hex ya que no tenía el programa ensamblador, sino
que solo disponía de documentación con los op-codes)  no logro llegar a odiar el
Assembler porque es como un viejo amigo .... pero desde que descubrí el C no lo
hecho de menos ni un poco siquiera. Primero por que estos C"s para microcontroladores
es C pero menos. Las instrucciones son muy cercanas al micro y si comparáis vuestro
fuente con el ensamblado correspondiente (el fichero .lst en CCS C) veréis que la
relación entre ambos es muy directa, aporta las estructuras de control mucho mas
"humanas" y la gestión de variables mucho mas clara. Y siempre tienes la oportunidad
de escribir asm "embebido" para lo que te haga falta. Así que siempre tienes lo
mejor de dos mundos.

Es una opinión más de un programador que hace ya mas de veinte años que
rueda por este mundillo de los micros. Payaso








Título: RE: Odio el Assembler
Publicado por: migsantiago en 24 de Marzo de 2006, 16:37:00
jejeje RedPic, yo tengo 22 años y los primeros micros que tuve que programar no tenían compilador, hacía lo mismo que tú, teclear el código en hexadecimal en un tecladito de 5x5. Muchas risas

Qué dilema era buscar una línea mal copiada Muchas risas

Pero yo pienso que con un poquito que se sepa de ensamblador, se puede aprender cualquier otro lenguaje.
Título: RE: Odio el Assembler
Publicado por: Sispic en 25 de Marzo de 2006, 00:20:00
Si claro , tambien se puede conducir sin necesidad de saver cambiar la rueda de repuesto .

Ni el medico hoy dia saver como esta hecha una aspirina .Muchas risas , les salen las recetas por la impresora .
Diria que cuantas mas herramientas se disponen , mejor se pueden fabricar los programas .
El carpintero por mucha maquinaria moderna que disponga , no dejara de tener una lima cerca aunque solo la use 10 veces al año .

Codigo:

#define Hazlo_Mientras_que while
#define Sea_Menor_Que <
#define Diferente !=
#define Borra(a)  a=0
#define Incrementa(a , b) a=a+b
#define OchoBits byte
#define Quieto_Parao(a) delay_ms(a)
#define Un_segundo 1000
#bit ROJO = PORTB.0
#define Enciende_Led(a)  a=1
#define Apaga_Led(a)  a=0



/*****************************************************/
void Haz_que_el_LedRojo_parpadee_100_veces(void){
/*****************************************************/
OchoBits REGISTRO_TEMPORAL;


    Borra( REGISTRO_TEMPORAL );  
       
    Hazlo_Mientras_que( REGISTRO_TEMPORAL Sea_Menor_Que 100)
    {
   
        Enciende_Led(ROJO);  
        Quieto_Parao(Un_segundo);
        Apaga_Led(ROJO);
        Quieto_Parao(Un_segundo);
       
        Incrementa( REGISTRO_TEMPORAL , 1 );
     }

}



De hecho se hace exactamente lo mismo con el asembler y unas macros , que es lo que usan los compiladores . pero si ya esta hecho para que complicarnos .Giño

Y Tambien lo mas importante es como usar la herramienta ,  tener un BMW no significa ya conduzco bien .


Título: RE: Odio el Assembler
Publicado por: RedPic en 25 de Marzo de 2006, 00:30:00
Programando en ensamblador lo que adquieres es un conocimiento profundo del
procesador. No te queda mas remedio, ya que si no tienes ese conocimiento no
eres capaz de hacer nada de nada. Con él no hay ningún compilador que te ponga
en bandeja funciones complejas ( P.Ej. lcd_write_byte() ) Con esto o te empapas de
la filosofia de funcionaminto del micro o te pierdes.

Si has pasado por esta fase y desembarcas en C o en Basic lo que notas es un
alivio a la hora de decir mucho escribiendo poco, en ensamblador escribas mucho
para decirle muy poco al micro. Pero la fase de aprendizaje del micro, como el
sarampión ya la has pasado.


Título: RE: Odio el Assembler
Publicado por: Nocturno en 25 de Marzo de 2006, 00:45:00
Jajaja, me parto con esto:
#define Quieto_Parao(a) delay_ms(a)
Título: RE: Odio el Assembler
Publicado por: RaDoN en 25 de Marzo de 2006, 06:07:00
No estoy muy de acuerdo con manolo (suele pasar pocas veces pero ahora no). Vale que C sea muy rapido para programar, muy facil y mas intuitivo, comprensible y un largo etc... Pero creo que es necesario tener algo de conocimientos ASM para conocer como trabaja el hard del microcontrolador.

Y esto lo digo no porque defienda ASM, uso C y no volveria a programar en ASM nunca, pero tener una base es importante. De todas formas teoricamente el ASM es más potente al ser un lenguaje de bajo nivel.
Título: RE: Odio el Assembler
Publicado por: el_errante_33 en 31 de Marzo de 2006, 16:06:00
Bueno gente, primero quería agradecerles por las opiniones aportadas que fueron muy productivas e interesantes

Les cuento que me compré y leí el libro

MICROCONTROLADORES PIC 16F84 Autor PALACIOS MUNICIO ENRIQUE
LOPEZ PEREZ LUCAS J. , REMIRO DOMINGUEZ FERNANDO

Realmente tiene mucha y muy buena información de microcontroladores y hace referencia a todas las sentencias assembler en forma muy clara

En su momento lei el de ANGULO USATEGUI JOSE MARIA y me pareció un libro fantástico para confundir y desinfomar al lector novicio


Por último quería por favor me recomienden:

Que libro en C sería apropiado leer para iniciarme ( si está orientado a microcontroladores mejor )

Y un compilador apropiado ( y en lo posible free download ) para dicho lenguaje
Título: RE: Odio el Assembler
Publicado por: vszener en 01 de Abril de 2006, 08:03:00
Buenas!!!el libro que mencionas MICROCONTROLADORES PIC 16F84 es buenisimo para la inicializacion en este mundillo, con respecto a libros en c para microcontroladores la verdad que en la lengua castatellana no lo he encontrado, en la lengua de la reina madre(inglesa) hay algun que otro pero tampoco veo que profundicen demasiado, lo que te recomiendo es buscarte un compilador aceptable(tenga librerias y tal) y en tu mesilla de noche pongas el manual del compilador y a programar y programar...

Con respecto aconsejarte un compilador en c, decirte, que en el subforo de c, el mas usado es el de la casa CCS, eso si no e slibre...tambien es muy bueno el de la empresa hi-tech donde poseen un compilador para c en version libre, el PICC-LITE....pa gustos, colores...


Suerte!!!Giño
Título: RE: Odio el Assembler
Publicado por: maunix en 01 de Abril de 2006, 19:59:00
Escrito originalmente por RedPic
Las instrucciones son muy cercanas al micro y si comparáis vuestro
fuente con el ensamblado correspondiente (el fichero .lst en CCS C) veréis que la
relación entre ambos es muy directa, aporta las estructuras de control mucho mas
"humanas" y la gestión de variables mucho mas clara. Y siempre tienes la oportunidad
de escribir asm "embebido" para lo que te haga falta. Así que siempre tienes lo
mejor de dos mundos.

Es una opinión más de un programador que hace ya mas de veinte años que
rueda por este mundillo de los micros. Payaso




En realidad no coincido al menos no en los PIC16F.  En estos el código generado por el C es bastante ineficiente sobre todo en programas con mucha lógica y mucho uso de memoria.  Me ha pasado y he tenido que usar el ensamblador.

En los 18F la cosa cambian, ahí la arquitectura está mejor diseñada y realmente al comparar el C con el código generado en ensamblador son pocas o ninguna las objeciones que uno tiene para hacer.

A menudo suelo editar las funciones que vienen implicitas con el MPLABC18 pero es más por cuestión de gustos que por otra cosa.  

En cuanto a tu el_errante_33 mi consejo es que estudies bien los módulos y uses el C.  Si el C no cumple tus espectativas es porque o bien tienes que usar el ensamblador o bien le has errado en algo en la evaluacion de los requerimientos de tu aplicación para que sea realizada por un PIC.  

El ensamblador es como que te obliga a saber bien como es la arquitectura del microcontrolador y eso en algunas ocasiones puede ser vital para saber porque algo no anda bien.....

Saludos
Título: RE: Odio el Assembler
Publicado por: RaDoN en 02 de Abril de 2006, 05:15:00
Todo es relativo creo yo, desde luego si lo que haces es usar C para dividir dos numeros decimales te puedes quedar memoria con una "sola operación". Pero por lo general, PICC es bastante competente y supongo que que quienes lo hacen lo tienen todo bien estudiado...