All pastes #495040 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-05-18 15:06 UTC
rendered paste body
*********************************************************************************
* Implementado por: 	Julio Vte. Montagut Desco				*
* Hardware: 		Controlador de 30 servos USB				*
* 			PIC 18F4550 - USB - 12Mhz				*
* Codigo fuente:	Visual basic 6						*
*********************************************************************************

Esta es una demosracion de los comandos de control del Hardware para JVM-Servo


FORMATO DE LOS COMANDOS

El formato de la comunicacion esta definido por la lectura del primer byte de la trama, ete primer byte decide el parametro que se va a interpretar y establece la longitud de toda la trama de datos.

Los comandos son de dos tipos: normales (3 bytes) y un comando extendido de 31 bytes.

Ejemplo:

	Byte1 - Byte2 - Byte3

El Byte1 decide el comando, el segundo corresponde al numero de servo y el tercero a la posicion.


COMANDOS DE LECTURA ------------------------------------------------------------------------------------------

	-Lectura de posiciones de los servos (2 bytes)

		Byte1 = P
		Byte2 = Nº servo

	-Lectura del inicio del PWM de cada puerto (2 bytes)

		Byte1 = Q
		Byte2 = Nº puerto    (valores de 0 a 3)

	-Lectura del ancho del PWM de cada puerto (2 bytes)

		Byte1 = R
		Byte2 = Nº puerto    (valores de 0 a 3)



COMANDOS DE ESCRITURA ----------------------------------------------------------------------------------------

	-Establecer la posicion de un servo (3 bytes)

		Byte1 = S
		Byte2 = Nº servo
		Byte3 = Posicion

	-Establecer la posicion de inicio de un servo (3 bytes)

		Byte1 = I
		Byte2 = Nº servo
		Byte3 = Posicion

	-Establecer el inicio del PWM de cada puerto (3 bytes)

		Byte1 = O
		Byte2 = Nº puerto    	(valores de 0 a 3)
		Byte3 = Valor		(valores de 0 a 255)

	-Establecer el ancho del PWM de cada puerto (3 bytes)

		Byte1 = N
		Byte2 = Nº puerto    	(valores de 0 a 3)
		Byte3 = Valor		(valores de 0 a 50)

	-Establecer la posicion a los 30 servos en un comando extendido (31 bytes)

		Byte1 = T
		Byte2 = posicion1
		Byte3 = Posicion2
		Byte4 = Posicion3
		...
		Byte31 = Posicion30