martes, 8 de diciembre de 2015

PROGRAMAR EN C

Lenguaje C

El lenguaje C dispone de todas las ventajas de un lenguaje de programación de alto nivel (anteriormente descritas) y le permite realizar algunas operaciones tanto sobre los bytes como sobre los bits (operaciones lógicas, desplazamiento etc.). Las características de C pueden ser muy útiles al programar los microcontroladores. Además, C está estandarizado (el estándar ANSI), es muy portable, así que el mismo código se puede utilizar muchas veces en diferentes proyectos. Lo que lo hace accesible para cualquiera que conozca este lenguaje sin reparar en el propósito de uso del microcontrolador. C es un lenguaje compilado, lo que significa que los archivos fuentes que contienen el código C se traducen a lenguaje máquina por el compilador. Todas estas características hicieron al C uno de los lenguajes de programación más populares.

Ventajas de lenguajes de programación de alto nivel

A pesar de todos los lados buenos, el lenguaje ensamblador tiene algunas desventajas:

  • Incluso una sola operación en el programa escrito en ensamblador consiste en muchas instrucciones,
  • haciéndolo muy largo y difícil de manejar.

  • Cada tipo de microcontrolador tiene su propio conjunto de instrucciones que un programador tiene que
  • conocer para escribir un programa
  • Un programador tiene que conocer el hardware del microcontrolador para escribir un programa

Los lenguajes de programación de alto nivel (Basic, Pascal, C etc.) fueron creados con el propósito de superar las desventajas del ensamblador. En lenguajes de programación de alto nivel varias instrucciones en ensamblador se sustituyen por una sentencia. El programador ya no tiene que conocer el conjunto de instrucciones o características del hardware del microcontrolador utilizado. Ya no es posible conocer exactamente cómo se ejecuta cada sentencia, de todas formas ya no importa. Aunque siempre se puede insertar en el programa una secuencia escrita en ensamblador.
Si alguna vez ha escrito un programa para un microcontrolador PIC en lenguaje ensamblador, probablemente sepas que la arquitectura RISC carece de algunas instrucciones. Por ejemplo, no hay instrucción apropiada para multiplicar dos números. Por supuesto, para cada problema hay una solución y este no es una excepción gracias a la aritmética que permite realizar las operaciones complejas al descomponerlas en un gran número operaciones más simples. En este caso, la multiplicación se puede sustituir con facilidad por adición sucesiva (a x b = a + a + a + ... + a). Ya estamos en el comienzo de una historia muy larga. No hay que preocuparse al utilizar uno de estos lenguajes de programación de alto nivel como es C, porque el compilador encontrará automáticamente la solución a éste problema y otros similares. Para multiplicar los números a y b, basta con escribir a*b.

jueves, 8 de octubre de 2015

PROGRAMAR EN ASSEMBLER


Programar en assembler tiene sus ventajas y desventajas y se podría decir que es algo obsoleto ya en la actualidad, habiendo una cantidad muy grande de lenguajes de programación, como por ejemplo, entre los más conocidos, C, o Visual Basic. Sin embargo, este lenguaje de bajo nivel, es excelente cuando se necesita programar algo muy minucioso y preciso. Por ejemplo, cuando se programa un microcontrolador PIC, y se necesitan ahorrar tiempos, es un excelente lenguaje de programación a utilizar. Ahora entonces empezaremos a detallar las ventajas y desventajas de programar en assembler.



Ventajas de programar en assembler:

  • Es posible realizar el programa con mucho más detalle teniendo en cuenta los tiempos. Por ejemplo, en la electrónica, el tiempo es algo muy importante y poder aprovecharlo al máximo es una gran ventaja. Entonces, se puede decir que se trabaja mucho mejor con el tiempo sin desaprovecharlo.
  • Se ve la programación en si, bien estructurada, y con esto se aprende a programar en lenguaje máquina. Esta es una gran ventaja de este lenguaje de programación.
  • Otra ventaja de assembler es la flexibilidad entre los diferentes sistemas operativos que andan circulando en la informática. Por ejemplo, si programamos un software para Microsoft, lo podremos ejecutar también en UNIX. Esta es una gran ventaja del lenguaje máquina, a comparación de los       lenguajes de alto nivel.

Desventajas de programar en assembler:



  • La gran desventaja es que se trabaja a muy bajo nivel y cuando se programa es necesario detallar cada característica a tener en cuenta. No podemos obviar nada porque de lo contrario el programa no funcionará.
  • Los comandos no son tan fáciles a comparación de un lenguaje de programación de alto nivel, ya que estos están hechos para que la interpretación sea más didáctica.
  • Se está mucho tiempo programando algo que podría ser mucho más fácil en un lenguaje de alto nivel.
  • Al final de cuentas, se escriben muchas más líneas de código y esto puede resultar molesto cuando se realiza el programa.