DEBUG item{ ,item ..}
Envia uno ó más items a un pin predefinido con un baud rate predefinido en formato standard asincrónico , usando 8 bits de datos ,sin paridad y con 1 bit de parada (stop bit) (8N1) ..El pin ,automáticamente se convierte en salida .
Si un signo ( # ) precede a un item ,se envía serialmente la representación ASCII para cada dígito .DEBUG soporta los mismos modificadores de datos que SEROUT2.
DEBUG es una de varias funciones seriales asincronicas pre-construidas .Es la más pequeña de las rutinas seriales generadas por software .Puede ser usada para enviar información de depuración (variables ,posición de marcadores , etc).a un programa terminal como HyperTerm .También se puede usar cuando se desee salida serial sobre un pin determinado y con un baud rate determinado .
Los pin y baud rate seriales son especificadas usando DEFINEs:
‘ Set Debug pin port
DEFINE DEBUG_REG PORTB ‘ Set Debug pin bit
DEFINE DEBUG_BIT 0
‘ Set Debug baud rate
DEFINE DEBUG_BAUD 2400
‘ Set Debug mode: 0= cierto, 1= invertido
DEFINE DEBUG_MODE 1
DEBUG asume un oscilador de 4 Mhz, cuando está generando su tiempo de bit. Para mantener el tiempo apropiado del baud rate con otros valores de osciladores, asegurese de DEFINE el seteo de OSC al valor de oscilador deseado.
En algunos casos, la tasa de transmisión de las instrucciones de DEBUG podrían presentar los caracteres demasiado rápidamente al dispositivo receptor. Un DEFINE agrega una demora de caracteres para las transmisiones seriales de salida. Esto permite un tiempo adicional entre los caracteres a medida que son transmitidos. La demora de caracter DEFINE permite un atraso de 1 a 65,535 microsegundos (.001 a 65.535 milisegundos) entre cada carácter transmitido.
Por ejemplo, para pausar 1 milisegundo entre la transmisión de cada caracter:
DEFINE DEBUG_PACING 1000
Si bien los chips convertidores de nivel RS-232 son comunes y económicos, gracias a la implementación de corriente RS-232 y a las excelentes especificaciones I/O del micro PIC ; la mayoría de las aplicaciones no requieren convertidores de nivel. Se puede usar TTL invertido (DEBUG_MODE =1) Se sugiere un resistor limitador de corriente (se supone que RS-232 es tolerante a los cortocircuitos).
´ Enviar el texto “B0=” seguido por el valor decimal de B0 y un avance de línea (linefeed) serialmente a la salida
DEBUG “B0=” ,dec B0,10
Debugin { Timeout, etiqueta, }[Item{, Item... } ]
Reciba unos o más items de un pin predefinido en una velocidad predefinida en formato asíncrono estándar usando 8 bits de datos, ninguna paridad y 1 bit de stop (8N1). El pin automáticamente se hace una entrada.
Se pueden incluir un TIMEOUT y una etiqueta opcional para permitir que el programa continúe si un carácter no se recibe dentro de cierta cantidad de tiempo.
TIMEOUT se especifica en unidades de 1 milisegundo. Si el PIN serial de la entrada de información permanece ocioso durante el tiempo del descanso, el programa saldrá del comando de DEBUGIN y saltará a la ETIQUETA.
DEBUGIN (en todos los dispositivos excepto los de 12-bit) utiliza los mismos modificadores que SERIN2. Obtenga mas información en la sección SERIN2.
DEBUGIN Es la más pequeña y más rápida que de las rutinas seriales asíncrono generadas por lógica e software . Puede ser utilizada para recibir la información que pone a punto un programa terminal como Hyperterminal. Puede también ser utilizada la entrada de información serial en un PIN fijo en una velocidad fija.
Se especifican el PIN y la velocidad seriales usando DEFINEs:
' Fije el port del PIN de Debugin
DEFINEN DEBUGIN_REG PORTB
‘ Set Debugin pin bit
DEFINE DEBUGIN_BIT 0
‘ Set Debugin baud rate (same as Debug baud)
DEFINE DEBUG_BAUD 2400
‘ Set Debugin mode: 0 =verdadero, 1 = invertido
DEFINE DEBUGIN_MODE 1
Si cualesquiera de estos DEFINEs no se incluyen en un programa, el puerto, pin o el modo de DEBUGIN se fija a los mismos valores que están en DEBUGIN (poner a punto). La velocidad de DEBUGIN essiempre igual que DEBUG.s. No puede ser DEFINEd diferentemente.
DEBUGIN asume un oscilador 4MHz al generar su sincronización de bit. Para mantener la sincronización apropiada de la velocidad con otros valores del oscilador, DEFINIR el OSCILADOR .
Mientras que los IC convertidores de nivel RS-232 (max232)son comunes y baratos, gracias a la actual RS-232 y las especificaciones excelentes de la entrada-salida del PICmicro MCU, la mayoría de las aplicaciones pueden no requerir IC convertidores .
Puede ser utilizando logica TTL invertida (DEBUGIN_MODE 1). Solo una resistencia limitadora de 22k. es necesaria para disipar el voltaje más alto y a veces negativo de RS-232.
' Espere hasta que el caracter A es recibido en serie y el caracter siguiente es puesto en B0
DEBUGIN [ WAIT(.A.), b0 ] ' Salte 2 caracteres y grab 4 dígitos un número decimal
DEBUGIN [ SALTO 2, dec4 B0 ]
DISABLE DEBUG
DISABLE DEBUG deshabilita el proceso de DEBUG después de esta instrucción. el monitoreo de DEBUG (poner a punto) no será llamado hasta que un ENABLE o ENABLE DEBUG sea encontrado.
DISABLED DEBUG y ENABLE DEBUG son más como pseudo-ops que dan al compilador directivas, más que generar código. Vea ON DEBUG para más información.
DISABLE DEBUG ' Invalide el llamado de monitoreo de DEBUG
ENABLE DEBUG
ENABLE DEBUG proceso previamente DISABLEd después de esta instrucción.
DISABLE DEBUG Y ENABLE DEBUG son pseudo-ops que dan al compilador directivas, más que generan código.
Vea ON DEBUG para más información.
ENABLE DEBUG 'habilita las llamadas al monitor de DEBUG