Interfaces

Páginas: 7 (1665 palabras) Publicado: 4 de diciembre de 2013
Memoria
Existen 3 fuentes de memoria en el microcontrolador utilizado por la placa Arduino (ATmega168):
Memoria Flash (espacio del programa), donde Arduino almacena el sketch.
SRAM (static random access memory, memoria estatica de acceso aleatorio) donde los sketches almacena y manipulan variables al ejecutarse.
EEPROM es un espacio de memoria que puede ser utilizada por los programadorespara almacenar información de largo plazo.
La memoria Flash y EEPROM son no-volatiles (la información se mantiene en ellas luego de cortar la alimentación). SRAM es volatíl y se perdera al reiniciar la unidad.
El chip ATmega168 cuenta con las siguientes cantidades de memoria:
Flash 16k bytes (de los que 2k son utilizados por el bootloader)
SRAM 1024 bytes
EEPROM 512 bytes

Ten encuenta que no hay mucha SRAM disponible. Es fácil utilizarla toda al tener muchas cadenas (strings) en tu programa. Por ejemplo, una declaración como:
char message[] = "Ah, qué hermoso..., qué hermoso."

pone 32 bytes en la SRAM (cada caracter utiliza un byte). Esto pude no parecer mucho, pero no toma mucho más llegar hasta 1024, especialmente si tienes largas cantidades de texto que enviar a unapantalla, o una tabla de datos muy grande, por ejemplo.
Si se te acaba la SRAM, tu programa fallara de manera improvista; parecera subir a la placa de manera correcta, pero no se ejecutara, o se ejecutara de manera extraña. Para comprobar si esto es lo que sucede, puedes intentar comentado o acortando las cadenas de texto u otras estructuras de datos en tu sketch (sin alterar el código). Sientonces este funciona correctamente, es probable que el problema haya sido la SRAM llena.






Interrupciones y llamadas al sistema

Interrupciones

Interrupción (también conocida como interrupción de hardware o petición de interrupción) es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar códigoespecífico para tratar esta situación.
Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa (generalmente perteneciente al sistema operativo, o al BIOS). Luego de finalizada dicha subrutina, se reanuda la ejecución del programa.
Las interrupciones surgen de lasnecesidades que tienen los dispositivos periféricos de enviar información al procesador principal de un sistema de computación. La primera técnica que se empleó fue que el propio procesador se encargara de sondear (polling) los dispositivos cada cierto tiempo para averiguar si tenía pendiente alguna comunicación para él. Este método presentaba el inconveniente de ser muy ineficiente, ya que elprocesador constantemente consumía tiempo en realizar todas las instrucciones de sondeo.
El mecanismo de interrupciones fue la solución que permitió al procesador desentenderse de esta problemática, y delegar en el dispositivo la responsabilidad de comunicarse con el procesador cuando lo necesitara. El procesador, en este caso, no sondea a ningún dispositivo, sino que queda a la espera de que estos leavisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un evento, una transferencia de información, una condición de error, etc.).

Un dispositivo periférico puede generar una señal eléctrica llamada interrupción que modifica ciertas banderas que se encuentran en el CPU. La detección de una interrupción es parte del ciclo de instrucción. En cada ciclo de instrucción, el CPU chequealas banderas hw para ver si algún dispositivo necesita atención.

Las interrupciones generadas por los dispositivos periféricos son generalmente asíncronos con respecto al programa que se está ejecutando. Un evento es asíncrono a una entidad si el momento cuando ocurre no está determinado por la entidad. Las interrupciones no siempre ocurren en el mismo punto dentro de la ejecución de un...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Interfaces
  • Interface
  • Interface
  • Interfaces
  • Interfaces
  • interfaces
  • Interfaces
  • interfaces

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS