Duda sobre lenguaje de programación

pandacba

Rocker Bear
No te equivoques muchacho, no todo es soft, para que el soft tenga una utilidad es necesario un hardware, el hardware puede existir por si solo, pero el soft no.
Tampoco te confundas con lo que hacen los chinos, en general no desarrollan tecnologias, toman lo que hay y lo hacen más barato y esto no es nuevo
Si lees un poco la historia que dio inicio al echo que hoy nos estemos comunicando con una PC, reside basicamente en el 8080 de intel, pero Zilog otra empresa compro la licencia para fabricarlo y lo lanzo al mercado a un precio altamente competitivo, recuerdo que cuando lo vi en vidriera por vez primera valdría unos 5 australes, algo así como 50 pesos de hoy, comparado con los que salian los 6800 de Motorola era un avismo, no solament lo lanzó a un gran precio si no que le dio amplio soporte, y se difundio, por todos lasos, Zilog lo llamo Z80 y fue la base de lo que llamarios los primeros ordenadores, como los fueron los Sinclair por ejemplo el ZX81

este tenía un 1k de memoria la que podía ser ampliada de forma externa
Luego lanzo el spectrun de 48K

A este le siguió luego el muy famoso y muy mejorado spectrun de 128K

a este le siguió este otro

Fue una epoca increible hubo infinidad de maquinitas con el Z80 trabajaban con Basic, no existía aún el consepto de sistema operativo, asi que cada fabricante ofrecía su propio Basic
La competencia estuvo dada por el famoso Comodore 16 que utilizaba el 6510 de Rockwell (el ZX)

Luego el Comodore 64

luego vino el 128...

Luego lanzaron esta bestia

La Comodore Amiga la más famosa de toda la línea por su tremenda potencia(para la época) tener procesador de audio dedicado, etc, etc



y esta la amiga 2000

Luego vino el IBM PC, Justo cuando estandarizaron el basic y aparecía el standard MSX de la mano de Microsoft
Un ejemplo en Argentina La Talent 128 MSX


pero el IBM PC había llegado y cambiaría la historia para siempre, pensaron que era una moda y le ordenaron hacer algo similar a la competencia pero mejor con componentes standard sin fabricara ningún semiconductor especial, solo lo que había en el mercado y bueno echaron mano al 8086 y al 8088 y esto salio al mercado
Como ves todo evoluciona y muy rápido, en menos de un lustro el cambio fue vertiginoso y para lograrlo quienes lo hicieron es gente que estudio y mucho

Por tus propias palabras queres estudiar lo menos posible, ese es un gran error, otro gran error es creer que un programador puedes sustituir a un electrónico, esa es la falacia más grande de la historia, todos los programadores cuando empiezan se creen genios, pero cuando van a la práctica el fracaso es total y ¿donde esta la genialidad?

Recuerdo cuando era difícil conseguir un relay a 5V, perdían tiempo buscando y buscando, cuando lo conseguían y ponían en marcha el proyecto Zas!!! funcionaba errático y es algo lógico la programación no puede sustituir el conocimiento de la electrónica, conectar el relay directo a la salida del micro, sin diodo, etc., etc. y hay gente porfiada, que se ha "cocinado varios micros" por ser terco y no querer entender que la programación es una cosa y la electrónica otra.
Eso de que se cambia una placa en china y la cambia un programador, eso, es un cuento chino.
Si no sabes que es lo que esta dañado y como funciona lo podes reemplazar por nada
Te quiero ver en un CNC que falla que venga un programador a querer hacerlo funcionar de nuevo cambiando una placa....... jah!!!!

Yo trabajo en automatización y no he visto mecatrónicos resolviendo nada......
En mi caso tengo sólidos conocimientos de mecánica, (Se hacer los cálculos de ejes, de resistencia, de vida útil, de materiales y sus tratamientos), hidraúlica (idem que el anterior), neumática(idem anterior) programación de PLC varios y un montón de cosas más. Todo eso requiere años de experiencia y de mucho estudio, estar al corriente de todo lo nuevo que va apareciendo en el mercado leer y leer y seguir estudiando permanentemente.

Quisiera ver un sistema basado en S7 que lo quieran resolver con una plaquita traida de china......

Un caso reciente, de una autopartista nacional de resortes, una de las CNC de origen chino dejaron de funcionar varias cosas, el fabricante ya no la hace más y no hay ninguna plaquita milagrosa que la salve, salvo diseñar un nuevo sistema a medida(obviamente sabiendo muy bien que es y como lo hace.....)

Por último(aunque hay mucho más) algo que no te ha quedado para nada claro, un sistema embebido es para una aplicación particular y nada más, si desarrollas un soft para una cafetera inteligente, no te servirá para un lavarropas por ejemplo, es decir son sistemas dedicados,
Poniendo el ejemplo que vos pusiste del sistema de transporte, el que se hizo en Córdoba no sirve para el sistema de la CABA y viceversa....
Por otro lado para el ejemplo que tiene que atender varias cosas hay que determinar el uso o no de un sistema operativo o no, en tal caso cual y programar las cosas para ese sistema operativo, lo que implica un buen conocimiento del mismo.....
Con solo estudiar Phyton te quedas muy pero muy corto para lo que querés hacer, si no aprndes C y el assembler estas al horno, no tenes futuro, sin esfuerzo y sin estudio no se llega muy lejos y por tu postura veo que terminaras siendo profesor de gimnasia en una escuela primaria......
Nada se consigue sin esfuerzo y mucha dedicación.... y obvio mucho pero mucho estudio y ojo un ingeniero luego que sale del claustro universitario debe seguir estudiando hasta el fin de sus días.........
 
Soy nuevo y quisiera que me dieran tips de como realizar buenas programaciones así como libros de arduino que me recomienden.
 
Pues libros como tal de Arduino no creo.
Puedes aprender programación en C que es lo que hoy en día se programan la mayoría de los microcontroladores, y aprender a hacer funciones, usar cadenas de caracteres para hacer tramas de datos.
De ahí puedes aprender la programación MISRA C ahí es cuando aprendes a programar en modo ordenado y genérico.
Hay varias bibliografías para programación en C es el mismo de las PC te sirve para aplicarlo en los microcontroladores y obviamente verás que Arduino no es la última Coca-Cola del desierto.
 

pandacba

Rocker Bear
Como toda cosa aprendes a los tumbos y luego vas mejorando, la vida misma te lo enseña
Cuando empiezas a dar los primeros pasos, hay inestabilidad, sin dirección, hasta que dominas las piernas y luego con los años podras hacer maravillas coreográficas si te entrenas.
Aprender a andar en Bici, aprender a andar en una patineta, aprender a patinar sobre ruedas o sobre cuchillas para hielo, aprender esquiar, aprender a nadar, y podría seguir.
Esto es lo mismo, primero aprende a hacer alguna cosas, utiliza un editor que te permita tabular y que coloree la sintaxis, todo se apende de a poco, nadie se pone hoy a programar y mañana es un experto, hay un largo camino que recorrer lleno de caídas y golpes, cuantos más superes estas contingencias más lejos llegaras.

Pero ten en cuenta unas cosas, el software sin el hardware nada es.
Programar micros, cualquiera sea el tipo y en en lenguaje que sea tiene un campo de aplicación que es la electrónica y si esta no se conoce no se aprende, te limitara y podra llegar a ser una barrera insalvable.

Se ve en el foro, que la mayoría que le puso solo enfasis a la programación creyendo que el resto es soplar y hacer botella, se han estrellado a 1200Km/h contra el peñon de Gibraltar.
El día que quieren hacer andar un simple moorcito o un relay, no funciona y les ha pasado a todos lo que han echo programación primero.
En cambio los que ya traen una larga experiencia en electrónica de muchos años, implementar esos simples ejemplos ha sido juego de niños
 
M

Miembro eliminado 356005

Lee código de otras personas.

Cuanto más código leas, aprenderás a distinguir el bueno del malo, porque el primero será mucho más fácil de leer y mantener que el segundo.
 
Gente, buen dia. En el instituto conoci los pic y los conoci en ASM, despues de que termine la carrera empece por mi cuenta en XC. Queria consultarles si es mejor que vuelva a ASM o me mantenga en XC?
En cuanto a recomendacion de ustedes, que me dirian?
Hoy en dia estoy empezando con el 16F873A (un poco viejo), y la informacion que hay en el datasheet es en ASM.. desconozco si los de ahora siguen usando ASM u otro lenguaje (Como XC y CCS C compiler).
Saludos!
 

Dr. Zoidberg

Well-known-Papá Pitufo
El asembler solo se usa, en la actualidad, para pequeñas porciones de código con requerimientos muuy específicos.
Cualquier programador "inteligente" de sistemas embebidos usa el lenguaje C y multiplica la velocidad de desarrollo de software por un par de millones de veces.
 

D@rkbytes

Moderador
Hoy en día estoy empezando con el 16F873A (un poco viejo), y la información que hay en el datasheet es en ASM.
Desconozco si los de ahora siguen usando ASM u otro lenguaje (Como XC y CCS C compiler).
El lenguaje de programación es independiente de lo que se graba en el microcontrolador, que finalmente es el archivo .hex
Por obvias razones, al programar en ensamblador se logra compilar archivos .hex de menor tamaño, sin embargo los microcontroladores actuales ya están optimizados para usar compiladores de C.

Por ejemplo: La series 12F18, 16F18, F18, F32 o dsPIC.
SMCF 18F4520.jpg

Programar en C tiene muchas ventajas, la más conveniente es poder realizar programas complejos con menor código.
 
Con este libro pequeño, estoy aprendiendo C y C++. No te quedes solo con C.



Eso si, también con C#, haces mucha más en menos tiempo, menos jaleo mental. Lo bueno de todo, es saber los dos.

Ya que C# con ciertos programas te pueden ver el código fuente y en C/C++ cuesta mucho más. Por eso se aconseja crear dll en C/C++ nativo porque es más difícil saber lo que haz escrito a parte tener más rendimiento y leerlo con cualquier interfaz como en C#.


Saludos.
 

Arriba