Serie 3 interactivos E-Proms

he actualizado mi programa con completo insert y delete. Red ni ninguna indicación. Sin formato plus. Sólo un buen editor de E-Prom. Asegúrese de que tiene cuerdas antes de usar el insertar o eliminar. Toma tiempo para ejecutar insert y delete. Leí y luego escribir cada cadena en su nuevo lugar. Mi programa no comprueba límites en nada.

La dirección es muy importante. Si su dirección está fuera por unos pocos bytes entonces perderá esos bytes desde el frente o la parte posterior de la cadena. No suceden errores. Este 16 * tmp5-1 se ve muy bien. No es aceptable. Sellos básicos quedan estrictamente matemáticas derecho. Sellos básicos 2s permiten paréntesis como 16 * (tmp5 – 1). Con este 16 * tmp5-1 es en realidad (16 * tmp5) – 1 y estaría fuera de 1 dirección. En este caso perdí la primera letra de la cadena que estaba editando.

Matemáticas pueden ser divertidas. El 2s de estampilla básica apoyo números negativos, pero debes tener cuidado con ellos. Si tienes dos variables en cuenta regresiva y ellos está comparando tmp3 > = tmp4. Si tmp3 llegue a 0 y reste 1 será negativo y más tmp4. Poner una instrucción de depuración en tmp3 y ver donde va. En este caso mi destino es tmp5. Lo cambié a tmp4 > = tmp5 y dejar tmp3 a 0. Luego ajusté tmp5 por-1 para la matriz base 0 de cadenas. Ceros no son buenos para matemáticas o comparar.

Lo principal que usted necesita para una cosa interactiva es memoria. La memoria más barata y más fácil de usar es una E-prom serie. ¿Qué es un E-prom? Es una memoria eclécticamente programable y borrable eclécticamente con una interfaz serial. E-Proms mantienen su memoria cuando el poder se apaga. E-Proms le permiten reprogramar la memoria. Generalmente 10 millones o más ciclos. Lea su manual. Usted puede almacenar casi cualquier tipo de datos en un E-Prom. Me gustaría que tenía amigos a compartir esto con. Voy a estar trabajando en pantallas LCD y un terminal mudo para mostrar lo fácil que es conectar tus ideas a tu gente.

El archivo de código es EPromEW6.txt. Se debe cambiar a EPromEW6. bs2 para él ejecutar. El zip tiene el archivo de código e imágenes.

La mayoría de E-Proms son que bytes tamaño de arreglos de discos de memoria. El usuario más grande de la memoria es picaduras como la quinquenal "Hola mundo". Las cadenas son una matriz de bytes en la memoria del procesador. Cadenas están bien adaptadas para E-Proms. En este ejemplo mi serial E-Prom es 2048/8 o 16 K con 16 128 páginas bytes. Sí, 128 cadenas. Como la mayoría de los dispositivos serie E-Proms tienen un procesador que está configurado para escribir y leer la matriz de memoria. Controlas con comandos y cables de entrada y salidas. Tiempo lo es todo.

Necesita un montón de pines para utilizar un E-Prom serial cuando se escribe a la memoria. Las clavijas: SO de Bytes de salida, SI Bytes entrada reloj CK y CS Chip seleccionar. Usar pernos separados para SO y SI proteger a mi E-Prom. Utilice comandos a E-Prom lo que usted quiere. Para leer un Byte puede baja CS y enviar un comando de lectura. "ShiftOut epRead\8, erAddr\16." El \8 dice ShifOut para enviar 8 bits total. 32 es 100000 es solamente 6 pedacitos. El \8 hace 00100000 y es de 8 bits. Es lo que necesita E-Prom. Lectura es una secuencia continua de Bytes mientras que proporcione impulsos de reloj. "ShiftIn myStr(tmp1)." Puede usar una dirección con el comando read. Cada página es 16 Bytes. Por lo que 32 es Página 1. Recuerda que la memoria del E-Prom es cero basado y cadenas son cero terminada.

La escritura es un poco más complicada. Tienes que escribir proteger y pernos Mantenga altos entonces establece CS baja y envían un comando escriba Enable. "SHIFTOUT epSi, epCk, MSBFIRST, [epWrtEN\8]". Entonces subes CS pausa 5 ms y luego menor pausa CS 5ms. Entra el comando en el E-Prom. Luego debe enviar un comando de escritura. "SHIFTOUT epWrite\8, erAddr\16." En la escritura generalmente necesita escribir los 16 bytes en un comando y terminarlo correctamente. En un bucle "SHIFTOUT myStr(tmp1)." Luego pausa 5 ms y aumentar mi CS para el E-Prom para escribir mis datos. Usted debe esperar o puede bloquearse E-Prom. Para reiniciar el E-Prom baje espere CS 5ms luego subir espera CS 5ms luego bajar CS y continuar con los comandos. Mantengo mi CS baja con una resistencia de 10K a tierra.

E-Prom también tiene un pin escribir proteger. Con este pin baja no puede escribir a lo E-Prom. También tiene un pasador de retención que cuando es baja E-Prom está apagado. Usted puede escribir proteger un cuarto, la mitad o toda la memoria con las banderas de estado. Sigo escribir proteger y mantener conectado a VDD.

Abordar es fácil y obligatorio. Mi dirección es en límites de bytes 16 así que es fácil. Puede escribir cualquier página 16 bytes de memoria que usted necesita y nada más se ve afectado. Memoria de acceso aleatorio verdaderamente en 128 secuencias de 16 bytes. Recuerde que la memoria es cero base y cadenas son cero terminada. Cadena 1 es realmente cadena 0. Todo mi numeración de la cadena es 1 base. El programa se encarga de los detalles. En mi programa de epAddr es el punto cadena y myStrS cuantas cadenas tengo. Visualización de las cuerdas comienza en 0 y funciona aunque myStrS cada secuencia de numeración. Cadenas concatenadas sólo la primera cuerda tiene un número. Las cadenas sólo el primero de ellos obtiene un número.

Una cosa acerca de manejo de cadenas es que la mayoría de los sistemas usa cero cadenas terminados. Esto significa que el último Byte en "Hola World0" es un Byte cero. Una matriz de bytes 16 tiene 15 caracteres y un terminación cero. También la mayoría de matrices de bytes son cero basado. Es la primera posición es cero y el último es 15. Para que las picaduras al ser reconocido que tiene que asegurarse de el cero está en el lugar correcto. Puede utilizar una matriz de 16 bytes para todo. Corta cadenas sólo hacia el frente y terminarles. Se ignorará el resto de la cadena. El seguimiento de su posición. Cuando son concatenar una cadena a la cadena siguiente no puede utilizar los 16 bytes. ¿Por qué? La rutina de salida queda por la primera cadena terminada.

Otros datos deben ser formateado para caber en una matriz de bytes. Una palabra tiene 16 bits o 2 Bytes. Un alto Byte y un Byte bajo. Largas o dobles tienen 32 Bits o cuatro Bytes. Byte 3, Byte 2 y Byte 1 Byte 0. Construir formateadores para cuidar este tipo de datos. Almacena Byte por Byte en un orden que desee. Como el Byte alto y el Byte bajo. Carga nuevamente el mismo camino. La memoria de la mayoría de los procesadores es páginas de 16 bits. Palabra de tamaño de memoria que puede dividirse en Bytes y en algunos hasta las puntas o brocas para las variables. Cuando guarde una variable de la palabra generalmente tienen acceso a sus Bytes como variables a.

Algunos procesadores tienen buena cadena de manipulación de funciones. Estoy usando un Parallax.com Basic Stamp 2 para este ejemplo. Los comandos son Debug, DebugIn, SerIn y SerOut. Debug y serOut son la misma función en aspectos más que ir a diferentes lugares. Para una cadena de entrada utiliza a un formateador de STR que busca cadenas de caracteres. Entradas que una cadena de hasta 15 caracteres de largo que carga en un tiempo de matriz de bytes cuando el usuario presiona Enter(13) y busca "DebugIn STR time\15\13". Si la cadena es menos de 15 caracteres los caracteres restantes se rellenan con ceros. La cadena "Hola" sería "Hello00000000000" en la memoria. "Tiempo de STR de depuración" imprime "Hola". El primer cero termina la cadena y el resto se ignoran.

Números pueden ser divertido. Los formateadores de entrada son para cadenas de caracteres. "DebugIn tiempo DEC" mira la cadena "hello123bye" y lo convierte en el número 123 y la pone en el variable tiempo. Ignora el resto. Útil para un montón de cosas interactivas. Para matrices de Bytes se utilizan caracteres de control como el cero como un terminador al final de cadenas. Crear otros caracteres de control para satisfacer sus necesidades. Usar '+' para separados canta corto y Únete letanía en mis rutinas de salida. Cadenas cortas se pueden poner juntos generalmente en la parte delantera E-Prom. Quince caracteres nunca son suficientes. Puede crear a todo tipo de controles de rutina de salida.

Mi programa: el botón entra en modo de comando. Escriba un comando y pulse Intro en el teclado. No puede mantener estos procesadores pequeños esperando una entrada. Son propensos a que se caiga. Se ejecuta un bucle activo a la espera de un botón al ser presionado. Mi programa almacena la última dirección y la cuenta de cadena en EEPROM del procesador y carga en el inicio o reinicio. Establezca myStrs en cero para nuevas cadenas y 1 para las cadenas que se cargue. Mi programa es un cargador rápido de la cadena para un E-Prom.

El programa utiliza la terminal de depuración y un botón estándar. Pulsar el botón para entrar al modo de comando. Tipo de la entrada y presione entran. El led debe destellar cuando esperando un comando. Recuerde ajustar los procesadores EEprom cuando finaliza una sesión.

Para editar las cadenas después de un reinicio utilizan comando 60 primero para cargar su cuenta dirección y cadena en mi programa. Mando 10 entrará en una nueva cadena después de la última cadena. Comando 40 modifica una cadena. Cuando haya terminado con su comando de uso cuerdas 50 para escribir la dirección y la cadena cuenta en la EEprom. Utilice el editor para cambiar myStrs a cero para nuevas cadenas o 1 o superior para cargar las cadenas y volver a cargar el programa.

El Arduino es demasiado divertido. Manejo excelente de la cadena.

Sistemas PICAXE: No tienen arreglos de discos. Sólo el x2 piezas tienen un comandos ShiftOut y ShifIn. El Bloc de notas es una zona de memoria temporal para el almacenamiento de datos como arreglos de discos. Sólo en los siguientes chips Picaxe PICAXE - 28 X 1, 40 X 1, 20 X 2 piezas tienen 128 bytes (0-127) de la libreta de apuntes y PICAXE - 28 X 2, 40 X 2 piezas tienen 1024 bytes de Bloc de notas (0-1023). Al uso de la libreta de apuntes: el puntero es ptr = var, direccionamiento indirecto es ' (incremento de correos) y ' (postdecrement). Cada vez que el ' nombre de variable se utiliza un comando el valor del puntero del Bloc de notas se incrementa automáticamente en uno. Esto lo hace ideal para el almacenamiento de una única matriz dimensional de los datos. Vea el ejemplo en el manual.

ShiftIN y ShiftOut: el comando spiin (shiftin también aceptado por el compilador) es un método de 'bit-bang' de comunicación SPI en las partes X1 y X2 solamente. Todas las otras partes deben utilizar el programa de ejemplo incluido al dorso para duplicar este comportamiento. Para una solución de hardware para X1/X2 piezas Consulte el comando 'hshin'. O puede usar mi doLights y checkLights de EasyLights.

Artículos Relacionados

WDW - cosas para traer y sugerencias para completar tu viaje con la magia de Disney!

WDW - cosas para traer y sugerencias para completar tu viaje con la magia de Disney!

Hola,Deja me comenzar diciendo que yo no sé todo sobre Disney por cualquier medio pero me han a WDW a poco más de 20 veces y han aprendido con los años algunos trucos que ayudan a hacer un poco más agradable. Por favor comenten debajo de cualquier ti
BROMAS! Hacer una máquina gigante de flor chorros!

BROMAS! Hacer una máquina gigante de flor chorros!

Hi peeps! Tina y yo recientemente nos pidió que construir una versión gigante de la antigua hilarante chorros flor broma, salvo que éste sería interactivo y limo del aerosol. Necesitábamos las víctimas a acercarse a la máquina (que parece un terrario
Pulso de la ciudad

Pulso de la ciudad

mi amigo George Zisiadis dirigía un proyecto interesante para el! Festival urbano de prototipos el otoño pasado.  Él y otro amigo, Matt Ligon, estaban trabajando en un circuito para detectar pulso del usuario y plasmarlo en música.  Quería un caso he
1 interactivo

1 interactivo

la vida necesita interacción para vivir. Las máquinas necesitan programas para interactuar con nosotros. Programas necesitan conectividad para crecer más complicado. Comunicación serial es el que usan máquinas para crecer. Comunicación serial está in
Terminal tonto 4 interactivo

Terminal tonto 4 interactivo

hacer un Terminal mudo de una vieja pantalla de LCD 16 DMC 16117A 1 x. Lo primero que debemos hacer es obtener una interfaz en serie para la pantalla. Estoy usando un SparkFun.com SerLCD para esto. El 16117A sólo tiene conectores de 14 y eso está bie
Juego de estudio interactivo

Juego de estudio interactivo

Un cuestionario de la encuesta vienen a la vida! Utilizar (casi) cualquier objeto para recopilar datos útiles a través de una encuesta de opción múltiple interactivo, atractivo y divertido.Este proyecto utiliza el microcontrolador Makey Makey en comb
Calabaza de Halloween interactivo (basado en Arduino)

Calabaza de Halloween interactivo (basado en Arduino)

LA IDEA DEUna calabaza que se ilumina, se sacude y grita... [video]Es Halloween, naturalmente tenemos que tener un proyecto.La idea es tener una calabaza, que detecta la presencia de una persona intentando llegar a los dulces y luego emplea varios ef
Fondo de acuario interactivo 3D

Fondo de acuario interactivo 3D

En este instructable, mostrará usted cómo hacer un fondo interactivo en 3D que tiene cuevas, y una arena bajo el agua caer. Es muy fácil de hacer y es muy barato. Toma tiempo, pero el producto final se ve increíble y su familia y amigos se quedarán e
Calendario semanal interactivo

Calendario semanal interactivo

SaludosEl arte de la gestión del tiempo es dar entusiasmo hacer nuestro vivir más significativaComenzar con lo simple, sabemos lo que tenemos deben hacer mañana y lo que hemos hecho hoy lo revise si nuestra misión hoy, si no lo hecho pero por lo que
S.Alt ciudad: Código QR Mural interactivo

S.Alt ciudad: Código QR Mural interactivo

Ciudad de S.Alt es un mural para el centro de Syracuse que se celebra simultáneamente el pasado industrial de Siracusa y su estado actual como un centro artístico. A primera vista, la imagen es histórica, que representa a un centro de distribución de
La caja de la donación interactivo

La caja de la donación interactivo

Cajas de donación pueden ser mucho más interesante y atractivo cuando se los combina con la electrónica y un poco de programación. Este instructable le mostrará cómo a. Como explica el nombre, hacer cajas de donación interactivo puede ayudarle a gana
Lámpara de humor Bluetooth interactivo

Lámpara de humor Bluetooth interactivo

Para nuestro proyecto Final de electrónica, hemos construido una lámpara de humor interactivo, que se basa en un proyecto anterior (véase para la versión 1), pero la diferencia es que el usuario puede interactuar con la lámpara a través de bluetooth!
Crear una pared de Living interactivo

Crear una pared de Living interactivo

este instructable fue hecha como parte del requisito de proyecto final en el curso de postgrado de CS 'Tangibles Interactive Computing' en la Universidad de Maryland, College Park impartido por el profesor Jon Froehlich. El curso se centró en la expl
Movimiento interactivo LED chal

Movimiento interactivo LED chal

Siempre se siente extra duro en el invierno para pasear a la mascota antes y después del trabajo porque es exterior frío y oscuro. Este chal está diseñado para proporcionar tanto calor y luz para mayor seguridad (y diversión).La bufanda se ilumina a