Buscar algoritmo de código de la ROM DS18B20

Maxim ( http://www.maximintegrated.com/cn ) produce muchos productos de dispositivos 1-Wire®, el circuito de hardware sencilla último y el software correspondiente se complica. sitio web de Maxim, "Nota de aplicación 187," describe el algoritmo de búsqueda ROM singlete , y proporciona TMEX prueba API programa de código fuente, el algoritmo es más complejo y se utiliza comúnmente en múltiples plataformas (Windows \ Java, etc.) de la API, no directamente en KeilC depuración y escribir MCU. Entiendo después de aprender algoritmo, el código fuente modificado adecuadamente, y para la anotación e ilustrado en detalle, el código KeilC depuración de medio ambiente, y una pequeña Mount 4 1-Wire ambiente DS18B20 de la prueba es satisfactoria, liso Obtener cuatro código de la ROM. Ahora el análisis algoritmo y proceso de prueba se escribe como sigue, en donde parte del algoritmo preserva el contenido de la mayor parte del AN187, pero realizan una gran cantidad de cambios y adiciones a la original se puede encontrar http://www.maximintegrated.com/cn/app-notes/index. MVP / lo anterior Identificación del mencionado / 187 . Buscar algoritmos y código fuente en este artículo, es válido para cualquier existente o para ser introducido en el dispositivo 1-Wire.

Maxim número de registro único de 1-Wire® dispositivos tienen cada uno una de 64 bits, cuando se produce mediante láser de grabado en la memoria de sólo-lectura interna (ROM), para el host 1-Wire red 1-Wire para encontrar su sitio. Si la variable de red 1-Wire desde el elemento de máquina y el número de código ROM es desconocida, a continuación, utilizando un algoritmo de búsqueda para encontrar el código. La tabla siguiente es un código esquemática ROM de 64 bits que consiste en:
(el MSB indica la bit más significativo del bit más significativo, LSB bit menos significativo bit menos significativo)       

LSB de 64 bits MSB ROM

8 de CRC

MSB LSB

SEQ ID NO 48

MSB LSB

8 código de la familia

MSB LSB

El orden de búsqueda es de abajo hacia arriba, de la siguiente manera:

El primero de 64 bits bit 1 ← ----------------------

La figura ROM 5,64 número de registro único

 

3 protocolo de búsqueda 1-Wire

Buscar algoritmo utiliza una estructura de árbol binario, un proceso de búsqueda a lo largo del sub-nodo, hasta que encuentre el dispositivo hasta que las hojas es decir, código ROM; la posterior operación de búsqueda a lo largo de un camino en los otros nodos de la misma manera hasta que encuentra el autobús todo el código del dispositivo. Más adelante en el presente documento proporciona un ejemplo sencillo: cuatro ROM, cada tomar sólo 4, la estructura de árbol binario, y se deriva en este ejemplo, muchos detalles del algoritmo de búsqueda y la aplicación.

 

El algoritmo de búsqueda comienza un reinicio (reset) y la respuesta en línea de pulso (pulso de presencia) ranuras a todos los dispositivos del reinicio del bus 1-Wire, después de la ejecución satisfactoria de la operación, transmite un byte de comando de búsqueda; comando de búsqueda 1- dispositivo de alambre está listo para comenzar la operación de búsqueda.

 

Buscar comandos en dos categorías: comando de búsqueda estándar (F0 hex) para buscar todos los dispositivos conectados a la red; alarmas o comando de búsqueda condicional (CE hexagonal) para buscar sólo los dispositivos en el estado de alarma Esto reduce. una búsqueda, para encontrar rápidamente los dispositivos que requieren atención. El código que acompaña a este artículo utiliza sólo los comandos de búsqueda estándar.

 

Tras el comando de búsqueda, inicie el proceso de búsqueda. En primer lugar los dispositivos de código de ROM de transmisión del primer bit (bit menos significativo) de forma simultánea (también llamados número de registro) en el bus (ver Fig. 1 ). Todo ello con las mismas comunicaciones 1-Wire, si los datos se leen o se escriben a un dispositivo esclavo por el maestro 1-Wire comienza cada poco. 1-Wire protocolo proporcionado de acuerdo con las características, cuando todos responden dispositivos esclavos al mismo tiempo, el resultado es equivalente a los datos de lógica de todos los bits de transmisión de la Y ; después de enviar el primer bit de su esclavo código ROM, los iniciados maestros una operación, y luego desde envía un complemento de la primera de datos; a partir de estos dos bits de información de datos se pueden derivar (ver tabla a continuación) a un primer código de ROM. La lectura secundaria operación en la corriente de bus 1-Wire bit de código ROM y anti-n de código, como se indica en el presente documento, "Segunda lectura" .

 

Tabla 1. recuperar bits de información

Anfitrión leer un poco

Proporcionar un código de bits de esclavos corriente positiva

Aloja una lectura

Proporcionar el código de inversión esclavo bits

Segunda lectura en base a la información obtenida

Nota: la línea principal se lee, "línea" en respuesta a cada esclavo de la lógica

0

0

El bit 0 del medio de conexión 1, que es un poco diferencia (mezcla bit de código)

0

1

Los medios de conexión son ambos 0

1

0

Los medios de conexión son ambos 1

1

1

El dispositivo no está conectado al bus

 

De acuerdo con los requisitos del algoritmo de búsqueda, los "dos lecturas" host 1-Wire debe enviar una copia bit a la esclavo en el bus, se refiere como "una escritura"; si el valor de la pieza de la máquina del código de la ROM a los bits de datos de la corriente partido bit, entonces el proceso continúa participando; si el valor de bit no coincide con el con el mismo miembro asociado, las transiciones dispositivo a un estado de suspensión hasta que el siguiente reinicio se detecta 1-Wire volvió a despertar. El código de la ROM 63 Búsqueda restante todavía se repite siga este 'dos ​​de lectura', modelo de 'escribir una'.

 

De esta manera el algoritmo de búsqueda se lleva a cabo, además de un elemento de máquina final desde fuera entrará todo el estado de espera, después de una detección, se puede obtener finalmente retenidos (no entrar en un estado de espera) códigos de un dispositivo ROM. En el subsiguiente proceso de búsqueda, un camino diferente (o ramificado) para encontrar otros dispositivos del código de ROM. Obsérvese que la ROM de bits de datos como bits 1 (bit menos significativo) a la 64-bit (bit más significativo) indica, en lugar del primer bit en el modo de 63 0; esta disposición permite la diferencia en la posición del contador inicial valor se establece en 0, para proporcionar una comparación posterior conveniente.

 

El proceso anterior puede ser brevemente descrito como "la segunda lectura de un escrito", "segunda lectura" es "00", el anfitrión puede determinar cuál es el " bit diferencia ", también conocido como "conflicto-bit" "bit de código mixto". Por ejemplo, "segunda lectura" es equivalente a "nombrar el maestro preguntó:" el nombre del estudiante concebida es el código ROM de 64 bits, cuando el profesor pidió a los estudiantes primera reacción es: "no dicen nada 1 0 cantos a"; la primera 2 a su vez pidió a los estudiantes: "no diga nada 0, 1, gritando a" el profesor puede ser resuelto por la segunda respuesta: "no dicen nada no dice nada +" indica que un estudiante no tiene; "no decir nada a +" significa todo el mundo 1 es decir, "no dice nada a +" indica que todos somos 0; y "a + a" los ingresos representa 0 y 1. Pensemos, si no son 0, 1, siempre y cuando no se decían el uno, el maestro será capaz de oír que este efecto es la síntesis de la llamada "línea", por supuesto, no debería ser llamado "de sonido."

 

Durante la búsqueda de la "diferencia en la posición", el anfitrión determina la forma en la dirección de búsqueda (0 ó 1), que es el problema central de este algoritmo, que es típico del "árbol binario de recorrido de 'algoritmo. Tal vez alguien va a proponer un algoritmo de "estúpida", es el exhaustivos combinaciones de 64 bits, de 000 ... 111 ... 000-111 de recorrido, habrá una respuesta de la máquina de uno a uno para averiguar, esto es de hecho un simple "estúpida "algoritmo, muy útil en muchos lugares, pero para la ROM de 64 bits, si uno necesita acceder a 100us, 64 que necesitan 6.4ms, exhaustiva de todo el código ROM = 264 184 400 000 000 millones de extrema tiempo de recorrido es de 37 mil millones de años, esto es de hecho una incómoda inalcanzable.


La siguiente tabla muestra el procedimiento de búsqueda maestro 1-Wire y esclavo :

Maestro

Esclavo

Enviar señal de "reinicio"

Tener un pulso de "presencia"

Enviar "Buscar" comando

Todo el dispositivo entra en "hacer frente a la búsqueda" del Estado, siguen respondiendo de acuerdo con la señal de acogida

La lectura de una "línea" del autobús

Todos los dispositivos envían el primer bit de la ROM de 64 bits

La lectura de una "línea" del autobús

Todo dispositivo de transmisión 64 de un código inverso de la código ROM

Para escribir un bus (algoritmos)

Después de dispositivos de recepción tienen este bit, donde el inconsistente bit con el dispositivo 1 código ROM en hibernación

lectura ROM de 64 bits los bits subsiguientes

Enviar subsiguiente dispositivo de bit ROM

lectura ROM de 64 bits los bits posteriores invertidas

pelo del dispositivo contador de bits ROM código subsiguiente

Escribir el seguimiento

Después de recibir este bit dispositivos son, donde inconsistente con el dispositivo de bit ROM actual entra en un estado de suspensión.

 

Como puede verse en la tabla: Si todos los dispositivos del bus tienen el mismo valor en el bit actual, entonces sólo una ruta ramificada opcional; no hay respuesta en el autobús en el que el dispositivo es un estado anormal, el dispositivo puede ser el proceso de búsqueda para encontrar en con bus 1-Wire desembragado. Si esto ocurre, la búsqueda se debe interrumpir, y la señal de reinicio es un 1-Wire iniciar un nuevo procedimiento de búsqueda. Si el bit actual de ambos 0 y 1 son también una condición llamada mediana de diferencia a la búsqueda de dispositivos juegan un papel clave en el posterior proceso de búsqueda . El algoritmo de búsqueda especifica una primera pasada, cuando aparezca la diferencia (bit / complemento = 0/0), el '0' ruta. Nota: Este es un algoritmo particular en este documento decisiones, otro algoritmo podría utilizar el '1' ruta. Algoritmo requiere la última posición registrada de la diferencia con el fin de buscar el siguiente uso.

 

Algoritmo de búsqueda descrito en este artículo es un programa genérico, ingenieros máxima muy inteligentemente diseñado una serie de variables, acaba de establecer los valores iniciales de las variables antes de la búsqueda, el programa será capaz de distintas funciones de búsqueda completas, estas variables se enumeran a continuación, pero se necesita tiempo para entender sus misterios. Por ejemplo, la última vez que el programa fue originalmente produjo ocho diferencia bit se proporciona ROM para realizar un seguimiento de una variable específica, ya que los primeros 8 bits de número de registro código de la familia de 64 bits, puede utilizar esta variable en el proceso de búsqueda de acuerdo a la familia del dispositivo código de clasificación. Usando la variable puede selectivamente derivación todo el paquete de dispositivo 1-Wire. Para buscar selectiva, puede hacer referencia a variables de búsqueda avanzada se explica en detalle.

 

64-bit ROM 8 que comprende además control de redundancia cíclica código (CRC); valor CRC se utiliza para verificar si la ROM correcta. disposición de código de ROM mostrado en la Figura 1. comprobación CRC en los principios y rico en contenido discutió la necesidad de especial, no se detallan aquí, se pueden encontrar en las notas relacionadas con el sitio web de Maxim.
 

 

(Continuará)

 

1-Wire algoritmo de búsqueda Explicación (2)

 

Ejemplos 4 y análisis algoritmo

Para entender el algoritmo o algoritmos para desarrollar, tenemos que ser explicado con un ejemplo:

 

 

        Ejemplo ROM (sólo los cuatro primero de la lista)

número ROM

1234 ......

ROM 1

00 1 1 ......

ROM 2

1010 ......

ROM3

1111 ......

ROM4

00 0 1 ......

 

   DS18B20 <wbr> 1-Wire <wbr> algoritmo ROM búsqueda detallada (2)
                                                       Ejemplos de un ROM de la figura 8,4.

 

1-Wire asumió que cuelga por encima de tabla ROM 4, donde sólo el código ROM conjunto 4, numeradas del 1 al 4, y el número de bits de la ROM dispositivo real 1 a 64. Pulse la derecha es "1 después del primer 0" binario de orden transversal árbol construido, para obtener la primera pasada ROM4 visibles: 0001, el segundo paso para obtener memoria ROM 1: 0011, y así sucesivamente. posición figura ⊕ está perforada con el punto divergente, es decir, los bits de diferencia (o bits de código se llaman híbrido).

 

Ahora bien, según el ejemplo anterior para observar el recorrido, para extraer los algoritmos y los detalles de implementación:

1. La primera vez a través de, la primera encontrada cuando la posición de bit diferencia 1 de Bit1, es decir, la izquierda después de la primera traversal orden de una orden de 0, seleccionamos 0 (denominado a la dirección 0); Bit2 diferencia de mapa de bits no es, de acuerdo con el algoritmo "Segunda lectura" después convenientemente seleccionado de 0; Bit3 es diferencia de mapa de bits, y luego elegir la dirección 0, Bit4 ni de mapa de bits diferencia. A través de los resultados obtenidos ROM4. Aquí podemos sacar conclusiones 1: Cuando las diferencias cumplan nueva posición, seleccione 0 .

 

2. El segundo pase, en el Ejemplo análisis, seleccionar la dirección de Bit1 0; 0 Bit2 tomada; Bit3 no se puede seleccionar a partir de la elección 0, 1; Bit4 de tomar 1; obtenido ROM1. Problema ensue: ¿Por qué la pregunta 1, Bit 1 0 ir? Aquí es de hecho una diferencia poco, pero no la primera vez que pasa, no se puede aplicar las conclusiones 1. Número 2, Bit 3 del por qué el cambio de ir a la 1? Un simple análisis de la pregunta 2 se pueden extraer conclusiones 2: 0 el último bit de una diferencias caminando y que el último desplazamiento esto debe ir 1 . Claramente, la rama izquierda bajo la "última gota de atravesar última una diferencia" ha tenido que pasar, esto debe ser de inmediato. Para responder a la pregunta 1 se llegó a la conclusión 3: El último bit para ir antes de que las diferencias 0 diferencia en base a la última parte del antiguo camino recorrido Donde la última travesía . Este bocado conclusión, observar ejemplos para explicar: Bit 3 es la diferencia entre bits, la rama derecha no han tenido que pasar, y ahora estoy dejando rama derecha Bit 3 Bit 3 por debajo de la previa, por supuesto, se basa en la última línea a seguir.

 

3. A continuación, si puede ser tercero pasa hacia fuera? Espera un minuto, no es un problema importante aún no ha procesado. Antes de la segunda pasada, el "último momento que atraviesa el último en abandonar la diferencia bit 0" debe Bit 3, vamos a establecer un LastDiscripancy variable para recordar los valores que LastDiscripancy = 3; sabemos por el análisis anterior, esta variable valor es el algoritmo de la hora de decidir qué ubicación de desviación en la base transversal, y esta variable en este atraviesa todo el proceso debe seguir siendo el mismo, si hay alguna diferencia en el número de bits en el nodo antes de o después de la conclusión son por 1 ( el nuevo mapa de bits diferencial) y las conclusiones 3 (diferencias de edad bits) para hacer frente a. 2 también se puede entender como una conclusión en una sola pasada a través y debe aplicarse sólo una vez, que es el núcleo de cada iteración puede encontrar una nueva ROM. Así que después de la segunda pasada, que debe nodo variable de LastDiscripancy apuntando a ella? La observación directa se puede encontrar debe apuntar Bit 1.

 

4. Cómo implementar la actualización del algoritmo después de cada iteración LastDiscripancy de variables? Para conocer el puntero con cada recorrido o amovible sobre o movido, como después del punto de Bit3 primera travesía, después de que el segundo punto de Bit1, después de que el tercer punto Bit2. También, por primera vez comenzó la que atravesar antes, después de la cuarta travesía la variable y el punto donde? Dado que la ROM real hasta 64, si el número de palabras de datos, la diferencia poco de la máquina también se incrementará, el algoritmo se re-introduce a una variable Last_Zero, se establece en 0 antes de cada pase, es decir, la posición antes del punto de iniciación, ROM entonces traverse 1-64 cuando código de cuatro dígitos, la variable apunta siempre a la última parte y tomar la diferencia de 0, esperar hasta después de la travesía se ha completado, el valor de la variable a LastDiscripancy asignación. A continuación, observaremos el segundo ejemplo pase, el primero es atravesado Last_Zero 0, de Bit1, coincidente "y tomar la diferencia del bit 0", de modo Last_Zero = 1, aunque las diferencias subsiguientes bits de Bit3, pero no tome 0, por lo que la finalización de recorrido el valor es 1, y finalmente a LastDiscripancy, pero apunta a 0, preparados para el tercer pase.

 

5. En tercer pase se convierte en una cuestión de rutina: LastDiscripancy = 1, se requiere la oficina Bit 1 a 2 utilizar conclusión, el cambio de algoritmo 1 para ir. Y la tercera pasada dejó Bit2 convertirse en "el último en abandonar la diferencia bit 0", la cuarta vez en atravesar el 1 de cambio para ir aquí. Cuarto búsqueda de recorrido hasta la última rom, pero tiene que decir la señal de fin de programa, por lo que salir de la búsqueda. Señal de fin está determinado por qué? 4 ROM 4 ciclos? Por supuesto que no, el cuadro anterior cifras son sólo ejemplos, cómo montar la máquina de la línea general real es desconocida. La respuesta es utilizar la variable LastDiscripancy determinar, antes del inicio de la búsqueda natural LastDiscripancy = 0, pero una vez en el programa de búsqueda, después de cada iteración de la variable código de la ROM siempre apunta a la media puede ser un poco de (1-64), atravesada hasta el final un esclavo, entonces debe ir todos los bits de diferencia son 1, si el valor inicial 0 se lleva a cabo Last_Zero, sin modificación durante el recorrido, la finalización de recorrido LastDiscripancy = Last_Zero = 0. Esta condición se puede determinar para la búsqueda completado.

 

6. En resumen, cuando el algoritmo se ejecuta a un lugar diferencia, para ser juzgado dividido en tres casos: Tipo encontró por primera vez, y finalmente el último en irse 0-tipo, el tiempo pasado no final ir 0-tipo. Tres casos se pueden caracterizar mediante la comparación de las dos variables que comparan la posición de búsqueda actual id_bit_number últimos y los últimos caminar 0 Tamaño LastDiscrepancy para determinar la siguiente tabla:

 

Tabla 3. Búsqueda dirección de la trayectoria determinada

tres casos

Búsqueda actual vs diferencia lugar el último bit 0 para ir

Path (variable: search_direction)

Conclusión 2: La última diferencia bits última ronda

Id_bit_number = LastDiscripancy

opción 1

Conclusión 3: El último no diferencia bits

Id_bit_number <LastDiscripancy

Con el último (el más reciente de almacenamiento de código ROM)

Conclusión 1: Nuevo caso de bits de diferencia

Id_bit_number> LastDiscripancy

Seleccionar 0

variable, en Id_bit_number representa la posición de búsqueda actual, cada vez desplazamiento saltando de 1-64;

variable de Search_direction indica el nodo actual y la dirección de búsqueda lee la segunda determinación, después del juicio es 0 o 1;

Otras variables ver los diagramas de flujo describen recinto.



Cuando una pluralidad de bus unifilar hang DS18B20, el sistema identifica el número de dispositivos en el bus y cada dispositivo con el código de ROM se consigue mediante la búsqueda en el algoritmo de comando DS18820 ROM.

  principio de búsqueda 1.ROM
  
  El único protocolo de bus ROM alambre cuando las cuestiones de acogida un comando de búsqueda, desde el bit menos significativo de la respuesta ROM de 64 bits desde el inicio de la máquina, el código original antes de transmitir y después transmite el complemento del bit, el host escribe 1 datos de bits, el bit menos significativo de DS18B20 código ROM de estos mismos datos, de lo contrario la respuesta sigue sin respuesta, por lo que el ciclo de "leer 2, escribir un" proceso hasta que una lectura completa hasta que el código ROM, luego el autobús de reposición, por la siguiente búsqueda. A continuación, leer, escribir análisis específico.

 

 

 

 

  (1) leer dos
  
  debido Después de emitir el comando de búsqueda, todos los esclavos serán los primeros en código ROM propia (bit menos significativo) del código original y complementar en el autobús, luego están los siguientes cuatro escenarios posibles:

  Si todos los dispositivos son los primeros 0: entonces todos los dispositivos del bus del código original son 0, complemento es 1, 2 get lee como "01", y si todos los dispositivos son los primeros en 1: ídem encontrado, leer el valor "10", y si alguna del dispositivo 1, mientras que algunos es 0: a continuación, que el código original y complemento, el dispositivo tendrá que poner en el bus 0, de acuerdo con la "línea"

  Encontramos la lógica de lectura es "00", no hay ningún dispositivo en el bus: En este caso, no hay dispositivos abajo del autobús, leen el "11"

  (2) escribe una
  
  escritura de acogida a un objeto de disparar y posicionamiento, sobre todo cuáles son las necesidades que se escriban datos dependerá de los resultados de los dos de lectura: Si la lectura es "11", indicando que no hay proceso de búsqueda de dispositivos se terminó, ya no es necesario ser escrito; si se lee como "01" o "10", lo que indica que todos los dispositivos en esta misma posición deben corresponder a escribir "0" o "1" para continuar la lectura de la siguiente; si se lee como "00" indicando los dispositivos sobre el conflicto de bus se produce en los datos de bits superiores, esta vez, los datos de escritura que tienen un efecto "negativo", si el dispositivo ROM codifican los mismos datos como está escrito en la posición, y luego continúan conexiones de autobús, si este dispositivo es diferente en esta búsqueda del autobús "excluye" responde a los comandos ya no emitidas por el anfitrión, hasta que se vuelva a restaurar un host.

  estrategia de búsqueda 2.ROM
  
  de acuerdo con los principios descritos en la búsqueda ROM se ha descrito anteriormente, un árbol se puede obtener como se muestra a continuación en la estrategia de búsqueda la figura, que es el código de bits de ROM correspondiente se muestra en el nodo circular.

  La figura muestra que solo se encuentren dos "00" aparecerá bifurcación, que es la clave de búsqueda. Cada búsqueda realizada por la raíz (es decir, empezar nodo) a lo largo de un camino del árbol, hasta que las hojas (el código ROM último bit), vuelven a leer un código ROM, con el fin de asegurar que cada búsqueda diferente la ruta seleccionada, que ha activado en los puntos de transcurridos grabada. Las reglas de proceso específica:

  (1) restablecer el autobús, el envío de un comando de búsqueda ROM; (2) por dos de lectura, de escritura de una manera, mirada para leer "00". En la lectura de "00" Antes Si "10" o "01", el bit correspondiente ROM directamente grabada, y escribe el código, y si "11" está fuera de la búsqueda.

  (3) en la primera búsqueda "00", en primer lugar escribir "0", seleccionar el código ROM es "0", el camino será hasta "00" lectura (es decir, la cifra más cercana a las hojas) y la ubicación historia preservado como "el más alto 00."

  (4) Después de cada búsqueda, el encuentro de los "00" después de leer, comparar esta posición de bit y "el más alto 00", si el "top 00" Antes, siempre se escribe en una búsqueda de escritura en esta ubicación valor, y si la misma posición, la escritura "1", si después de escribir el "0"

  Después de cada búsqueda se ha completado, a "top 00" orientado a la actualización de búsqueda de escritura posición "0" más alto "00" leer, que es el paso más importante.

  (5) Cuando el "top 00" se actualiza con 0, es decir, la raíz del árbol, significa que la búsqueda del todo Departamento código de la ROM, el proceso termina.

  3.ROM instancia de búsqueda
  
  asume un autobús lleva un 5 DS18820, código de ROM y que son: xxx000, xxx001, xxx010, xxxl00 y xxxl01. Sólo las tres primeras palabras de código como un ejemplo, hay un árbol de búsqueda, como se muestra a continuación, en el que un total de cuatro divergente (es decir, "00" lectura de conflicto).

  De acuerdo con el algoritmo conocido que proceso:

  (1) la primera búsqueda, el encuentro de un "tenedor 1", "2 Tenedor" y "Tenedor 3" son la escritura directa "0", lo que resulta en código ROM "000", y "el más alto 00" hace referencia como 3 , es decir, "y 3" posición;
  
  (2) una segunda búsqueda, "tenedor 1" y la posición "2 tenedor" en el "top 00" antes, siendo la última escritura escribir el valor "0", y "y 3 "en el mismo lugar, de escritura" 1 "también tenemos que" top 00 'se actualiza a 2,, es decir,' tenedor 2 'posición; el contenido de la ROM es' 001 ";
  
  (3) tercera búsqueda, a "tenedor 2" escribir "1" y "top 00" se actualiza a 1, de escritura en el código de la ROM "010":

  (4) buscar por cuarta vez en el "tenedor 1", debe escribir "1", hay que señalar que en este momento no se actualiza el "top 00", para ir hasta el final de esta búsqueda fue actualizada. Continuar la búsqueda, a "tenedor 4" después de "máxima 00", escribir "0" ROM en esta búsqueda, "100", mientras que "top 00" 3 a ser actualizado, es decir, la posición "tenedor 4".

  (5) El quinto búsqueda, "tenedor 1" en el "top 00" antes, siendo el valor de escritura última escritura "1", "tenedor 4" debe escribir "1", los extremos de búsqueda del código de la ROM "101" pero esta búsqueda no escribe bifurcación "0" ( "00" bits), por lo que "top 00" se actualiza a 0, los extremos de búsqueda, el código ROM cinco dispositivos han estado disponibles.

Publicados 136 artículos originales · ganado elogios 71 · vistas 160 000 +

Supongo que te gusta

Origin blog.csdn.net/u012308586/article/details/104782647
Recomendado
Clasificación