Está en la página 1de 13

USART Funciones

TABLA DE CONTENIDOS
1 2 Introduccin Descripcin de las funciones 2.1 BusyUSART Busy1USART Busy2USART 2.2 CloseUSART Close1USART Close2USART 2.3 DataRdyUSART DataRdy1USART DataRdy2USART 2.4 getcUSART getc1USART getc2USART 2.5 getsUSART gets1USART gets2USART 2.6 OpenUSART Open1USART Open2USART 2.7 putcUSART putc1USART putc2USART 2.8 putsUSART puts1USART puts2USART putrsUSART putrs1USART putrs2USART 2.9 ReadUSART Read1USART Read2USART getcUSART getc1USART getc2USART 2,10 WriteUSART Write1USART Write2USART putcUSART putc1USART putc2USART 2,11 baudUSART baud1USART baud2USART

Introduccin

Las siguientes funciones se proporcionan para los dispositivos con un solo perifrico USART: TABLA: SINGLE PERIFRICAS USART Funcin BusyUSART CloseUSART Es la transmisin de USART? Descripcin

Desactivar el USART. DataRdyUSART Se dispone de datos en el bfer de lectura USART? getcUSART Lee un byte de la USART. getsUSART OpenUSART putcUSART putsUSART putrsUSART ReadUSART WriteUSART baudUSART Leer una cadena de la USART. Configurar el USART. Escribir un byte en el USART. Escribir una cadena de memoria de datos a la USART. Escribir una cadena de memoria de programa para la USART. Lee un byte de la USART. Escribir un byte en el USART. Establecer los bits de configuracin de la velocidad de transmisin USART mejorado.

Las siguientes funciones se proporcionan para los dispositivos con mltiples perifricos USART: TABLA: MLTIPLES FUNCIONES PERIFRICAS USART Funcin BusyxUSART ClosexUSART Es USART x transmitir? Desactivar USART x. Descripcin

DataRdyxUSART Se dispone de datos en el bfer de lectura de x USART? getcxUSART Lee un byte del USART x. getsxUSART OpenxUSART putcxUSART putsxUSART putrsxUSART ReadxUSART WritexUSART baudxUSART Leer una cadena de USART x. Configurar USART x. Escribir un byte en USART x. Escribir una cadena de la memoria de datos para USART x. Escribir una cadena de memoria de programa para USART x. Lee un byte del USART x. Escribir un byte en USART x. Establecer los bits de velocidad de transmisin de configuracin para mejorar USART x.

Con base en los registros de control diferentes, los bits de configuracin y sus posiciones en el registro de control, todos los dispositivos PIC18 se dividen en las siguientes versiones. Donde sea necesario, las funciones por separado han sido diseados para apoyar estas versiones, as que antes de llamar la atencin LIB funciones hay que tener para saber la versin del dispositivo configurado y llamar a la funcin apropiada con el nmero correcto de argumentos. Para EAUSART_V11 usuario tiene que configurar los registros de E / S.

A continuacin se muestra la tabla para encontrar la versin USART para el dispositivo configurado:

TABLA: VERSIN VS DISPOSITIVOS Versin nombre AUSART_V1 AUSART_V2 EAUSART_V3 Nmero de dispositivos 18C242, 18C252, 18C442, 18C452, 18F242, 18F252, 18F442, 18F452, 18F248, 18F258, 18F448, 18F458, 18F2439, 18F2539, 18F4439, 18F4539, 18C601, 18C801, 18C658, 18C858, 18F2220, 18F2320, 18F4220, 18F4320 18F6620, 18F6720, 18F8620, 18F8720, 18F6520, 18F8520 18F1220, 18F1320, 18F6585, 18F6680, 18F8585, 18F8680, 18F2331, 18F2431, 18F4331, 18F4431 18F1230, 18F1330, 18F1231, 18F1331, 18F2420, 18F2520, 18F4420, 18F4520, 18F2423, 18F2523, 18F4423, 18F4523, 18F2450, 18F4450, 18F2480, 18F2580, 18F4480, 18F4580, 18F2410, 18F2510, 18F2515, 18F2610, 18F4410, 18F4510, 18F4515, 18F4610, 18F2525, 18F2620, 18F4525, 18F4620, 18F2585, 18F2680, 18F4585, 18F4680, 18F2682, 18F2685, 18F4682, 18F4685, 18F24J10, 18F25J10, 18F44J10, 18F4510 18F2455, 18F2550, 18F4455, 18F4550, 18F2221, 18F2321, 18F4221, 18F4321, 18F23K20, 18F24K20, 18F25K20, 18F43K20, 18F44K20, 18F45K20, 18F13K50, 18LF13K50, 18F14K50, 18LF14K50, 18F13K22, 18F14K22 18F6310, 18F6410, 18F8310, 18F8410, 18F6390, 18F6490, 18F8390, 18F8490, 18F63J11, 18F64J11, 18F65J11, 18F8311, 18F84J11, 18F85J11, 18F63J90, 18F64J90, 18F65J90, 18F83J90, 18F84J90, 18F85J90 18F6527, 18F6622, 18F6627, 18F6722, 18F8527, 18F8622, 18F8627, 18F8722, 18F65J10, 18F65J15, 18F66J10, 18F6615, 18F67J10, 18F85J10, 18F85J15, 18F86J10, 18F86J15, 18F87J10 18F6525, 18F6621, 18F8525, 18F8621 18F86J60, 18F86J65, 18F87J60, 18F96J60, 18F96J65, 18F7J60, 18F66J11, 18F66J16, 18F67J11, 18F86J11, 18F86J1, 18F87J11, 18F65J50, 18F66J50, 18F66J55, 18F67J50, 18F, 5J50, 18F86J50, 18F86J55, 18F87J50 18F66J60, 18F66J65, 18F67J60 18F24J11, 18F25J11, 18F26J11, 18F44J11, 18F45J11, 18F46J11, 18F24J50, 18F25J50, 18F26J50, 18F44J50, 18F45J50, 18F46J50

EAUSART_V4

EAUSART_V5

EAUSART_V6

EAUSART_V7 EAUSART_V8 EAUSART_V9 EAUSART_V10 EAUSART_V11

Descripcin de las funciones

2.1

BusyUSART Busy1USART Busy2USART


Es la transmisin de USART? usart.h caracteres BusyUSART (void);

Funcin: Incluyen: Prototipo:

caracteres Busy1USART (void); caracteres Busy2USART (void); Observaciones: Devuelve un valor que indica si el transmisor USART est ocupado. Esta funcin se debe utilizar antes de comenzar una nueva transmisin. BusyUSART se debe utilizar en las piezas con una sola USART perifricos.Busy1USART y Busy2USART se debe utilizar en las piezas con mltiples perifricos USART. Valor de retorno:0 si el transmisor USART est inactivo Nombre del archivo: Ejemplo de cdigo: 1 si el transmisor USART est en uso ubusy.c u1busy.c u2busy.c while (BusyUSART ());

2.2

CloseUSART Close1USART Close2USART


Desactivar el USART especificado. usart.h CloseUSART vaco (void); Close1USART vaco (void); Close2USART vaco (void);

Funcin: Incluyen: Prototipo:

Observaciones: Esta funcin desactiva las interrupciones, el transmisor y el receptor de la USART especificado. CloseUSART se debe utilizar en las piezas con una sola USART perifricos.Close1USART y Close2USART se debe utilizar en las piezas con mltiples perifricos USART. uclose.c Nombre del archivo: u1close.c u2close.c

2.3

DataRdyUSART DataRdy1USART DataRdy2USART


Se dispone de datos en el bfer de lectura? usart.h caracteres DataRdyUSART (void); caracteres DataRdy1USART (void); caracteres DataRdy2USART (void);

Funcin: Incluyen: Prototipo:

Observaciones:

Esta funcin devuelve el estado del bit de bandera RCIF del registro PIR. DataRdyUSART se debe utilizar en las piezas con una sola USART perifricos. DataRdy1USART y DataRdy2USART se debe utilizar en las piezas con mltiples perifricos USART. Valor de retorno: 1 si se dispone de datos

Nombre del archivo: Ejemplo de cdigo:

0 si no hay datos disponibles udrdy.c u1drdy.c u2drdy.c while (DataRdyUSART ()!);

2.4

getcUSART getc1USART getc2USART

getcxUSART se define como ReadxUSART . Ver ReadUSART

2.5

getsUSART gets1USART gets2USART


Leer una cadena de longitud fija de los personajes de la USART especificado. usart.h getsUSART vaco (char * buffer , unsigned char len ); gets1USART vaco (char * buffer , unsigned char len ); gets2USART vaco (char * buffer , unsigned char len ); buffer Un puntero a la ubicacin donde los personajes entrantes van a ser almacenados. len

Funcin: Incluyen: Prototipo:

Argumentos:

El nmero de caracteres a leer de la USART. Observaciones: Esta funcin slo funciona en 8-bits de transmisin / recepcin modo. Esta funcin espera y lee el nmero de len caracteres de la USART especificado. No hay tiempo de espera al esperar para que los personajes lleguen. getsUSART se debe utilizar en las piezas con una sola USART perifricos.gets1USART y gets2USART se debe utilizar en las piezas con mltiples perifricos USART. ugets.c Nombre del archivo: u1gets.c u2gets.c inputstr carbn [10]; Ejemplo de cdigo: getsUSART (inputstr, 5);

2.6

OpenUSART Open1USART Open2USART


Configurar el mdulo USART especificado. usart.h OpenUSART vaco (unsigned char de configuracin , unsigned int SPBRG ); Open1USART vaco (unsigned char de configuracin , unsigned int SPBRG ); Open2USART vaco (unsigned char de configuracin , unsigned int SPBRG );

Funcin: Incluyen: Prototipo:

Argumentos:

config Una mscara de bits que se crea mediante la realizacin de una operacin AND bit a bit o bit a bit ('&') uno o configurar ('|'), de cualquier manera, como se muestra en el ejemplo al final de este archivo, con un valor de cada una de las categoras enumeradas a continuacin. Estos valores se definen en el usart.h archivo. Interrupcin en la transmisin: USART_TX_INT_ON interrupcin de la transmisin ON USART_TX_INT_OFF Interrupcin en el recibo: USART_RX_INT_ON USART_RX_INT_OFF USART modo: USART_ASYNCH_MODE USART_SYNCH_MODE Transmisin Ancho: USART_EIGHT_BIT USART_NINE_BIT Amo / Esclavo Select *: USART_SYNC_SLAVE USART_SYNC_MASTER Modo de recepcin: USART_SINGLE_RX USART_CONT_RX Velocidad de transmisin: USART_BRGH_HIGH USART_BRGH_LOW * Se aplica a modo sncrono slo interrupcin de la transmisin OFF Recibe interrupcin en interrupcin de recepcin OFF modo asncrono modo sincrnico de 8-bits de transmisin / recepcin 9-bit de transmisin / recepcin modo esclavo sncrono sncrona en el modo Maestro nico de recepcin continua recepcin de alta velocidad de transmisin baja velocidad de transmisin

SPBRG Este es el valor que se escribe en el registro de la tasa de baudios del generador que determina la velocidad a la que el USART opera. Las frmulas para la velocidad de transmisin son: Modo asncrono, de alta velocidad: Fosc / (16 * (SPBRG + 1)) Modo asncrono, a baja velocidad: Fosc / (64 * (SPBRG + 1)) Modo sincrnico: Fosc / (4 * (SPBRG + 1)) Donde Fosc es la frecuencia del oscilador. Esta funcin configura el mdulo USART de acuerdo a las opciones de configuracin especificado. OpenUSART se debe utilizar en las piezas con un nico perifrico USART.Open1USART Open2USART y se debe utilizar en las piezas con mltiples perifricos USART. uopen.c u1open.c u2open.c OpenUSART1 (USART_TX_INT_OFF y USART_RX_INT_OFF y USART_ASYNCH_MODE y USART_EIGHT_BIT y USART_CONT_RX y USART_BRGH_HIGH, 25);

Observaciones:

Nombre del archivo: Ejemplo de cdigo:

2.7

putcUSART putc1USART putc2USART

putcxUSART se define como WritexUSART . Ver WriteUSART

2.8

putsUSART puts1USART puts2USART putrsUSART putrs1USART putrs2USART


Escribe una cadena de caracteres a la USART incluyendo el carcter nulo. usart.h putsUSART vaco (char * datos ); puts1USART vaco (char * datos ); puts2USART vaco (char * datos ); vaco putrsUSART (const char * rom de datos ); vaco putrs1USART (const char * rom de datos );

Funcin: Incluyen: Prototipo:

Argumentos: Observaciones:

vaco putrs2USART (const char * rom de datos ); datos Puntero a una cadena terminada en cero de los datos. Esta funcin slo funciona en 8-bits de transmisin / recepcin modo. Esta funcin escribe una cadena de datos a la USART incluyendo el carcter nulo. Cadenas encuentra en la memoria de datos se debe utilizar con la "pone" las versiones de estas funciones. Cadenas encuentra en la memoria del programa, incluidos los literales de cadena, se debe utilizar con la "putrs" versiones de estas funciones. putsUSART y putrsUSART se debe utilizar en las piezas con un nico perifrico USART. Las dems funciones que se deben utilizar en las piezas con mltiples perifricos USART. uputs.c u1puts.c u2puts.c uputrs.c u1putrs.c u2putrs.c PutrsUSART ("Hello World!");

Nombre del archivo:

Ejemplo de cdigo:

2.9

ReadUSART Read1USART Read2USART getcUSART getc1USART getc2USART


Lee un byte (un carcter) de la USART del buffer de recepcin, incluyendo el noveno bit si est habilitado. usart.h caracteres ReadUSART (void); caracteres Read1USART (void); caracteres Read2USART (void); caracteres getcUSART (void); caracteres getc1USART (void); caracteres getc2USART (void); Esta funcin lee un byte de la USART bfer de recepcin. Los bits de estado y los bits de datos novena se guardan en una unin con la siguiente declaracin: Unin USART { sin firmar valores char; struct { sin firmar RX_NINE: 1;

Funcin: Incluyen: Prototipo:

Observaciones:

sin firmar TX_NINE: 1; sin firmar FRAME_ERROR: 1; sin firmar OVERRUN_ERROR: 1; signo de relleno: 4; }; }; El bit 9 es de slo lectura si 9-bit se activa el modo. Los bits de estado siempre se leen. Por una parte, con un nico perifrico USART, el getcUSART y ReadUSARTfunciones se deben utilizar y la informacin de estado se lee en una variable llamada USART_Status que es de la USART tipo descrito anteriormente. Por una parte, con mltiples perifricos USART, el getcxUSART yReadxUSART funciones se deben utilizar y la informacin de estado se lee en una variable llamada USARTx_Status que es de la USART tipo descrito anteriormente. Valor de retorno: Esta funcin devuelve el siguiente carcter en el bfer de recepcin USART. uread.c Nombre del archivo: u1read.c u2read.c # Define en usart.h # Define en usart.h # Define en usart.h int resultado; Ejemplo de cdigo: resultado = ReadUSART (); resultados | = (unsigned int) USART_Status.RX_NINE <<8;

2,10

WriteUSART Write1USART Write2USART putcUSART putc1USART putc2USART


Escribir un byte (un carcter) para el buffer de transmisin USART, incluido el bit noveno si est habilitado. usart.h WriteUSART vaco (char datos ); Write1USART vaco (char datos ); Write2USART vaco (char datos ); putcUSART vaco (char datos ); putc1USART vaco (char datos ); putc2USART vaco (char datos ); datos El valor que se escribe en el USART.

Funcin: Incluyen: Prototipo:

Argumentos:

Observaciones:

Esta funcin escribe un byte en el buffer de transmisin USART. Si 9-bit se activa el modo, el bit noveno est escrito desde la TX_NINE campo, que se encuentra en una variable de tipo USART: Unin USART { sin firmar valores char; struct { sin firmar RX_NINE: 1; sin firmar TX_NINE: 1; sin firmar FRAME_ERROR: 1; sin firmar OVERRUN_ERROR: 1; signo de relleno: 4; }; }; Por una parte, con un nico perifrico USART, el putcUSART yWriteUSART funciones deben ser utilizadas y el registro de estado se llamaUSART_Status que es de la USART tipo descrito anteriormente. Por una parte, con mltiples perifricos USART, el putcxUSART yWritexUSART funciones deben ser utilizadas y el registro de estado se llama USARTx_Status que es de la USART tipo descrito anteriormente. uwrite.c u1write.c u2write.c # Define en usart.h # Define en usart.h # Define en usart.h outval entero sin signo; USART1_Status.TX_NINE = (outval y 0x0100)>> 8; Write1USART ((char) outval);

Nombre del archivo:

Ejemplo de cdigo:

2,11

baudUSART baud1USART baud2USART


Establecer los bits de velocidad de transmisin de configuracin para mejorar el funcionamiento USART. usart.h baudUSART vaco (unsigned char baudconfig ); baud1USART vaco (unsigned char baudconfig ); baud2USART vaco (unsigned char baudconfig ); baudconfig

Funcin: Incluyen: Prototipo:

Argumentos:

Una mscara de bits que se crea mediante la realizacin de una operacin AND bit a bit ('&') con un valor de cada una de las categoras enumeradas a continuacin. Estos valores se definen en el archivo de usart.h : RX estado de reposo: En el modo asncrono: BAUD_IDLE_RX_PIN_STATE_HIGH Recepcin de datos (RX) es inverted.Idle estado de RX pin es de alto nivel BAUD_IDLE_RX_PIN_STATE_LOW Sin inversin de recibir datos (RX). en estado inactivo para RX pin es de bajo nivel En el modo sincrnico: BAUD_IDLE_RX_PIN_STATE_HIGH de datos (DT) se invierte. Estado de reposo para DT pin es de alto nivel BAUD_IDLE_RX_PIN_STATE_LOW Sin inversin de los datos (DT).Estado de reposo para DT pin es de bajo nivel TX estado de reposo (En asncrono modo): BAUD_IDLE_TX_PIN_STATE_HIGH de transmisin de datos (TX) se invierte. en estado inactivo para TX pin es alto nivel BAUD_IDLE_TX_PIN_STATE_LOW Sin inversin de transmisin de datos (TX). Estado inactivo durante pin TX es de bajo nivel Reloj estado de reposo : (En el modo sncrono) BAUD_IDLE_CLK_HIGH estado inactivo del reloj es un alto nivel BAUD_IDLE_CLK_LOW estado inactivo del reloj es un nivel bajo Baudios tasa de generacin: BAUD_16_BIT_RATE 16-bit tasa de generacin de baudios BAUD_8_BIT_RATE de 8-bits tasa de generacin de baudios RX Pin Monitoreo: BAUD_WAKEUP_ON RX pin monitoreado BAUD_WAKEUP_OFF Medicin de la frecuencia en baudios: BAUD_AUTO_ON transmisin BAUD_AUTO_OFF baudios RX pin no se controla Auto medicin de la velocidad de habilitada Auto medicin de la tasa de con discapacidad

Observaciones: Nombre del archivo: Ejemplo de cdigo:

Estas funciones slo estn disponibles para los procesadores con mayor capacidad de USART. ubaud.c u1baud.c u2baud.c baudUSART (BAUD_IDLE_CLK_HIGH y BAUD_16_BIT_RATE y BAUD_WAKEUP_ON y BAUD_AUTO_ON);

Ejemplo de uso de las rutinas con USART y la mscara: # Include <p18C452.h> # Include <usart.h> void main (void) { / / Configurar USART OpenUSART (USART_TX_INT_OFF y USART_RX_INT_OFF y USART_ASYNCH_MODE y USART_EIGHT_BIT y USART_CONT_RX y USART_BRGH_HIGH, 25); while (1) { while (PORTAbits.RA0!); / / esperar a alta RA0 WriteUSART (PORTD); / / escribir el valor del PORTD if (PORTB == 0x80) / / comprueba la terminacin break; / / valor } } CloseUSART ();

Ejemplo de uso de las rutinas con USART o una mscara: # Include <p18C452.h> # Define USE_OR_MASKS # Include <usart.h> void main (void) { / / Configurar USART OpenUSART (USART_TX_INT_OFF | USART_RX_INT_OFF | USART_ASYNCH_MODE | USART_EIGHT_BIT | USART_CONT_RX | USART_BRGH_HIGH, 25);

while (1) { while (PORTAbits.RA0!); / / esperar a alta RA0 WriteUSART (PORTD); / / escribir el valor del PORTD if (PORTB == 0x80) / / comprueba la terminacin break; / / valor } } CloseUSART ();

También podría gustarte