
Pues muchas gracias a todos Ustedes por tenerlo por aqui, que alegria me dan

Pues bien continuamos, llevo todas la semana buscando informaciones sobre registros de la UART porque la verdad no es facil saberla todas sin estar leyendo, donde como va cada cosas, ya duermos con el ejemplo que me mandaron y el codigo de nuestro estimado amigo Nocturno

y decir verdad , cada dia esto me fascina, porque ? muy simple, en el mundo del espectaculos tantos en sonido como iluminacion se usa este protocolo, este protocolo fue hecho pues para eso, ya tambien lo estan usando en DMX512 Domotica y seguridad,no me gustaria poner ningun link de otros proyectos o empresa que se dedican a estos, eso se lo dejos a ustedes.
El problema que se pueden encontrar muchos es , tener los modulos, osea un Emisor DMX512 que (Consola DMX,paneles de mando DMX,USBD DMX, o algunos simple que se podia encontrar en la Web, yo me monte ya uno de 6 canales, ¿porque? teniendo un USB DMX y estar probando en mi experimento es horroroso tener todos periferico conectados a una PC y claro es tener un modulo emisor a mano para experimentar es mas comodo.
Bien aqui os pongo algunas caracteristica para que muchos vean su funcion:
UNIVERSES CHANNELS
1 1-512
2 513-1024
3 1025-1536
4 1537-2048
5 2049-2560
6 2561-3072
Etc. en un Bus de linea se pueden conectar hasta 32 universos
estos nunca lo he probado yo, yo solo he usado hasta 4 universo y fue en un proyecto en un campo de Football hace 7 años. claro hay consola muy compleja que te memorizan en tiempo real todas las ecenas, puede programa grupos de canales, renombrandos y jugar con ellos de acuerdos a tu gustos y no solo eso cambiar cosas en vivo claro esta consola tan compleja son carisima.
Pero para aquello que quieran descorar su casa e instalando sistema economico como es hoy en dia el tema de los LEDs y luce convencionales,Moviemientos de motores,cortinas etc..
aqui una imagen del TIMING CHART

y siguiendo con el codigo de ejemplo os pongo 2 tipo de comparaciones
esta primera es la que yo tengo
/************************************************************************
* Configuracion de los registros USART para DMXtoLED 1 canal PWM *
************************************************************************/
#byte SPBRG = 0x99 //Registro de Baudios
#byte RCSTA = 0x18 //Registro de recepcion de la usart
#byte TXSTA = 0x98 //Registro de emision de la Usart
#byte RCREG = 0x1a //Registro donde se guarda el paquete Buffer
#byte PIR1 = 0x0c //Registro de interrupciones de perifericos
#byte PIE1 = 0x8c //Registro de activaciones de los perifericos
#byte INTCON = 0x0b //Registro asociado a la interrupciones
#bit SPEN = RCSTA.7 //Serial port enable bit
#bit RX9 = RCSTA.6 // 9-bit receive enable
#bit SREN = RCSTA.5 //En modo asyncrono no se tiene en cuenta
#bit CREN = RCSTA.4 // Continuos receive enable bit
#bit ADDEN = RCSTA.3 // Autodeteccion de direccion
#bit FERR = RCSTA.2 //Frame error bit
#bit OERR = RCSTA.1 //Overrun error bit
#bit RX9D = RCSTA.0 //El noveno bit
#bit BRGH = TXSTA.2 //Seleccion de alta velocidad de baudios
#bit SYNC = TXSTA.4 // Selecion de modo sincro o asincrono
#bit RCIF = PIR1.5 //Señalizador de bzte recibido USART
#bit RCIE = PIE1.5 //Activacion de la interrupcion USART
#bit GIE = INTCON.7 //Activacion globar de interrupcion
#bit PEIE = INTCON.6
este codigo trazducí solamente los comentarios ya que venian como es claro en ingles, por favor corregirme si tengo algun fallo,
/************************************************************************
* Registros USART ReceptorDmx de Nocturno *
************************************************************************/
#byte SPBRG= 0xFAF // Registros para establecer la velocidad
#byte SPBRGH=0xFB0 // de la USART
#byte RCSTA= 0xFAB // Registro de recepcion de la usart
#byte TXSTA= 0xFAC // Registro de emisión de la usart
#byte RCREG= 0xFAE // Aquí se recibe el dato de la usart
#byte PIR1= 0xF9E // Estado de interrupciones de periféricos
#byte PIE1= 0xF9D // Activación de interrupciones de periféricos
#byte BAUDCON= 0xFB8 // Control de la velocidad en baudios
#bit SPEN= RCSTA.7 // Bit activación puerto serie
#bit RX9= RCSTA.6 // Activación de recepción de 9 bits
#bit SREN= RCSTA.5 // Se activa para recibir un sólo byte
#bit CREN= RCSTA.4 // Se activa para recepción continua
#bit ADDEN= RCSTA.3 // Autodetección de dirección
#bit FERR= RCSTA.2 // Error de Frame
#bit OERR= RCSTA.1 // Error de Overrun
#bit RX9D= RCSTA.0 // El noveno bit
#bit BRGH= TXSTA.2 // Selección de alta velocidad
#bit BRG16= BAUDCON.3 // Uso de un valor baudrate de 16 bits
#bit SYNC= TXSTA.4 // Selección de modo síncrono o asíncrono
#bit RCIF= PIR1.5 // Señalizador de byte recibido en USART
#bit RCIE= PIE1.5 // Activación de la interrupción USART
y este aqui es de nuestros amigos Nocturno, como pueden ver hay cosas diferente al mio, pero el Sr. Nocturno solo hizo una monitor para ver los valores de cada canales en un display.
El proximo tema sera Variables globales.
por favor espero comentarios y el que tenga mas informacion que nos de mas detalle, asi este tutorial estarias mas completo, se agradece muchos todas vuestras colaboraciones.
Gracias amigos por estar aqui.
Un gran saludos