Autor Tema: Para entender C es conveniente aprender assembler  (Leído 4608 veces)

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

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 359
Para entender C es conveniente aprender assembler
« en: 10 de Septiembre de 2012, 20:53:16 »
Hola estoy tratando de aprender a programar micros por primera vez y me decidi por Freescle, los quiero programar en C (aclaro que no se de programacion y mucho menos de C y assembler mas que lo que puedo encontrar en la wev y uno que otro libro de C ) pero confieso que se me hace complicado el intentar aprender C y a la vez intentar implementarlo en el micro.
Mi pregunta es me conviene comezar entendiendo Assembler para despues pasar a C y por ultimo volcarlo a los micros o debo directamente comensar con C directamente? :?

Gracias.

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Para entender C es conveniente aprender assembler
« Respuesta #1 en: 10 de Septiembre de 2012, 21:18:11 »
No creo que sea necesario para comenzar a aprender C saber primero assembler.
Lo que si es bueno es darle una lectura al datasheet del micro que estés estudiando.  ;-)
Por ejemplo ver como están compuestos los puertos (si están configurados por defecto en modo analógicos o digitales). Aprender como configurar el oscilador, etc.
Lo mejor es que veas ejemplos funcionales en C. en donde enciendas y apagues un led. Y luego de a poquito ir agregando cosas. El auto fantástico. Luego pulsar botones y prender y apagar cosas. Etc. Etc. Primero gatear, luego caminar, y por último correr!
Saludos.
      Jukinch
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado marqueses

  • PIC12
  • **
  • Mensajes: 80
    • Alberto Marqueses Blog
Re: Para entender C es conveniente aprender assembler
« Respuesta #2 en: 11 de Septiembre de 2012, 09:48:41 »
Hola,

Como te comentaba jukinch, yo tampoco creo que sea necesario conocer assembler, pero si lo sabes perfecto. La mayor ventaja que le veo a conocer asm es que te hace entender todos los registros del micro, pues debes de configurarlos manualmente, y conoces el uso que tiene cada bit de cada byte de cada registro, que en C lo harias programandolo con una funcion y olvidandote de donde está cada registro.

Dale fuerte al C y cuando tengas dudas de como funciona algo, al datasheet  ;-)
Alberto Aragón Marqueses
albertomarqueses.wordpress.com

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Para entender C es conveniente aprender assembler
« Respuesta #3 en: 11 de Septiembre de 2012, 10:37:42 »
No es necesario, yo llevaba bastantes años sabiendo C y casi nada de ASM.. Al principio me costo adaptarme a los pics pero luego tienes la base de saber todo el C e implementarlo a los pics, lo unico que debes aprender es el uso de los registros, lo demas es todo parecido ya que el C es un lenguaje portable a diferencia de ASM.

Desconectado marqueses

  • PIC12
  • **
  • Mensajes: 80
    • Alberto Marqueses Blog
Re: Para entender C es conveniente aprender assembler
« Respuesta #4 en: 11 de Septiembre de 2012, 11:14:51 »
Si, por eso decía, que no es necesario saber asm y que es mejor dedicarse directamente al C, pero que si has tenido asignaturas en la carrera o lo has estudiado por tu cuenta, te facilita el conocimiento de los registros del micro, y saber donde buscar cuando algo te falla.

Lo ideal seria que existiera un HAL y SAL (capas de abstracción de hardware y software) y que pudieras programar igual tanto para un micro de Microchip que para uno de TI o ST. Pero como no, deberemos seguir estudiando los datasheet para saber si el SPI está bien configurado cuando no conseguimos hacerlo comunicar, etc.
Alberto Aragón Marqueses
albertomarqueses.wordpress.com

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Para entender C es conveniente aprender assembler
« Respuesta #5 en: 11 de Septiembre de 2012, 12:17:00 »
NO es necesario aprender assembler para enteder C, para nada, pero si conocer el microcontrolador que vas a usar para entender como trabaja. Además porque muchos de los C necesita saber el tema de los registros porque se los configura manualmente, sino usa CCS  :mrgreen:


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Para entender C es conveniente aprender assembler
« Respuesta #6 en: 11 de Septiembre de 2012, 13:15:42 »
Yo empecé con basic y ahora ando en C, la datasheet es lo esencial y claro el foro todopic!!!
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 359
Re: Para entender C es conveniente aprender assembler
« Respuesta #7 en: 11 de Septiembre de 2012, 20:34:47 »
A..... (me sale una mericoneada , AMO ESTE FORO  :D) gracias a todos por responder todos fueron muy concisos y precisos al responder, ni una palabra mas ni una menos.
En fin, vallamos al centro del problema, encender Leds ya hice , configura los puertos como entradas y salidas  tambien, pulsadores tambien (pero nada con precicion y de esto los que mas les pueden decir de mi nivel es SUKY y Richi777 que los eh tenido a mal traer), creo que mi problema fundamnetal es aprender a configurar los registros, interpretar el compilador y entender C ademas de implementarlo porsupuesto, y es por eso que decidi preguntar por Assembler pues tal vez me estaba saltendo un paso en la secuencia de aprendisaje.
Les comento que decidi empesar con Freescale y talvez (como Don Suky me recomendo ) deberia haber empezado por PIC pues los colaboradores que me acistan serian mayores (en numero) sin olvidarme de la cantidad de ejemplos e informacion que se encuentra por todos lados, y en español.
El tema es que para empezar con estos micros me compre un BDM (no profecional, de fabricacion nacional y en realidad quiero aprvecharlo quiero aprender Freescale no quiero bajar los brazos), en el subforo de Freescale poste todas mis dudas la respecto.
El tema funciones por ejemplo es algo que me resulta dificil de entender, ejemplos de funciones encontre en libros y foros dedicados a orientar sobre el lenguage C pero, imlementarlos en el micro siento que es una tarea diferente, que es como una materia a parte pues no se, no entiendo como hacerlo en el micro. Inclusive encontre algo de informacion que fui subiendo pero no doy pie con bola como quien dice.
Lo que si me parecio interesante y no creo que sea algo que este de mas es lo que muchos de ustedes me comentan con respecto al Assembler que este me obligaria a programar bit por bit de cada registro que dese configurar (esto me ayudaria con el tema de los datasheet ya que seria programrlos tal cual aprecen el propiamente dicho).
No soy estudiante presencial apenas auto didacta con los micros y sistemas, mi profecion Electronico mi desempeño Metalurgico, y el poco contacto que tengo con personas dedicadas al tema  en cuestion lo hago por este medio.
Aca en argentina existe una empresa que desarrolla material didactico para el desarrollo de la firma Freescale , se llama Edudevices y son a los que les compre el BDM, ellos tienen un kit de evaluacion y estaba pensando en comprarlo, segun me informe viene con material basico comenzando con assembler hasta pasar al C con practicas incluidas y multiples perifericos para practicar, pero tambien existe un unico curso presencial en Bs As que dicta el Instituto de Profeorado Tecnico perteneciente a la facultad UTN que trabajan con el micro HC908JL8 en C (por cierto este micro es viejito y pronto va a desapareser es lo que me informo la firma Freescale, mas bien lo que va a desaparescer es la familia HC908 que contempla el micro del curso),   primero es  mas barato que el kit y es para cualquiera que quiera tomarlo que tenga nociones de Tecnicas digitales (eso no seria un problema ) y segundo en comparacion con el kit tendria un profesor a quien hacerle las preguntas que desee, estaria en contacto con personas en mis mismas condiciones o con mi mismas dudas o diferentes que tambien me ayudarian a aprender, entonces les pregunto que es lo que ustedes harian en mi posicion?
Curso presencial con profesor al frente o Kit de evaluacion?


Gracias saluds cordiales para todos :mrgreen:
 


 

anything