'W'
Forma: Wb{datos}<CR>
Donde b es el total de bytes a escribir y datos es el bloque a escribir sobre el bus 1-Wire (1-32) bytes.
Los comandos escribir/leer bloque son muy similares al comando escribir/leer bit. Los comandos de bloque llevan a cabo
las funciones de escribir/leer bit en bloques de datos de hasta 32 bytes de longitud.
Los comandos escribir/leer bloque son los más poderosos de los comandos 1-Wire que ofrece el HA7E.
comandos permiten que bloques de datos, ya sean ceros (0) o unos (1), sean escritos o leídos del bus. Esta función se
ofrece para permitir una manipulación directa de dispositivos 1-Wire, y puede ofrecer una interfaz con todas las funciones
del dispositivo 1-Wire.
En un bus 1-Wire, el maestro del bus (el HA7E) escribe un uno (1) bajando el voltaje en el bus por un tiempo corto (para
mayores detalles, consulte el capítulo 1 del libro sobre los estándares del iButton DS19xx, de Dallas Semiconductor).
Para escribir un cero (0) el maestro del bus mantiene abajo el voltaje del bus por un tiempo más prolongado. Cuando un
dispositivo esclavo necesita enviar un bit uno (1), lo consigue simplemente con no hacer nada durante el período en que
el maestro del bus está escribiendo un uno (1). Por el contrario, cuando un dispositivo esclavo necesita enviar un cero
(0), lo hace manteniendo abajo el voltaje durante el período de escritura de un uno (1) del maestro del bus, pero por un
tiempo mayor: el correspondiente al período del cero (0). Esto le permite al dispositivo esclavo enviar ambos valores de
bit, uno y cero, sin necesidad de asumir el manejo del bus. El maestro del bus 1-Wire es el que lleva a cabo el manejo;
con lo que un dispositivo esclavo sólo necesita mantener el bus abajo durante los períodos en que desea enviar un valor
de bit cero (0).
Los comandos "W" sirven tanto para escribir un bloque, como para leer un bloque. El maestro del bus siempre escribe,
aún cuando se encuentre leyendo. El maestro del bus escribe períodos de 1 siempre que quiere escribir un bit 1 o
cuando quiere leer un bit de un esclavo que esté seleccionado. Cuando lee un bit la respuesta a la escritura de un
período 1 puede ser un "0" o un "1", dependiendo de si el dispositivo esclavo mantienen o no al bus abajo para indicar un
bit "0". Los comandos escribir/leer bloque enviarán hasta 32 bytes de 8-bits cada uno por el bus 1-Wire y registrarán la
respuesta del esclavo, y la enviarán de regreso como una respuesta al comando. Esta es una técnica muy potente y
eficiente para comunicarse con esclavos 1-Wire.
Ejemplo: Seleccionar el DS2407 con código ROM 2400000007377212, emitir el comando Acceder a Canal y leer el Byte
de Información del Canal contenido en las compuertas (latches) de entrada, las de de salida y los niveles detectados de
las dos líneas I/O PIOA, PIOB.
Comando
A2400000007377212<CR>
W04F5CFFFFF<CR>
Embedded Data Systems,
Comandos ESCRIBIR/LEER BLOQUE
Respuesta
2400000007377212<CR>
F5CFFF47 <CR>
.
LLC
; 2019 Fortune Drive; Lawrenceburg, KY 40342; Tel/Fax 502-859-5490
Estos
16-19