Está en la página 1de 17

Lenguaje C aplicado a microcontroladores PIC

(Compiladores de CCS)

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

Lenguaje C aplicado a microcontroladores PIC

COMUNICACIN SERIE ASNCRONA en C (compiladores de CCS) La Configuracin de una Comunicacin Serie Asncrona desde el compilador PCM de CCS est gobernada, de manera fundamental por la directiva #USE RS232 Aunque la directiva se llame as, sirve para configurar cualquier transferencia serie asncrona y no slo RS232, que no deja de ser una de las posibles normas Los niveles elctricos asociados a los niveles lgicos de recepcin/transmisin son los correspondientes a la tensin de alimentacin del microcontrolador y no a los de la norma RS232 El asistente del entorno PCW (PIC Wizard) permite definir, para esta directiva: Velocidad de transmisin (en baudios) Qu pin se emplear para la transmisin Qu pin se utilizar para la recepcin Si se va a utilizar o no bit de paridad y de qu tipo (par o impar)
2

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

Lenguaje C aplicado a microcontroladores PIC

Comunicacin serie asncrona

Posible ms de un puerto

PIC Wizard para configuracin de comunicaciones

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

Lenguaje C aplicado a microcontroladores PIC

Opciones de la directiva #USE RS232 : BAUD= x x sera la velocidad de comunicacin (en baudios). Para que el compilador inserte el cdigo necesario para transmitir/recibir a la velocidad indicada, debe conocer la frecuencia del oscilador que se va a utilizar. Deber pues existir previamente una directiva #USE DELAY(clock=frec.) Si la velocidad de transmisin indicada no se pudiera alcanzar con un error inferior al 3%, se generara a la hora de realizar la compilacin un mensaje de error del tipo: Baud rate out of range salvo que se incluya una opcin BRGH1OK en la directiva (asumimos ese error) XMIT=pin RCV=pin Pin de transmisin que se va a utilizar (p.e.: xmit=PIN_C6) Pin de recepcin que se va a utilizar (p.e.: rcv=PIN_C7)

Si el microcontrolador seleccionado tiene mdulo SCI y se especifican los pines asociados como los que se deben utilizar, la transmisin y/o recepcin se har con el hardware disponible, en caso contrario ser implementado por software
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

Lenguaje C aplicado a microcontroladores PIC

ENABLE=pin Durante la transmisin, el pin especificado estar en estado alto y durante la recepcin en estado bajo . Ese pin se puede utilizar para habilitar bien la transmisin o bien la recepcin en una comunicacin semi-dplex como puede ser el caso del control de los drivers de un bus RS485 RESTART_WDT Se insertar cdigo para resetear el Watchdog durante la espera por un byte (para funciones que se quedan esperando) a que llegue algo INVERT Con esta opcin, se invierte la polaridad de los niveles asociados a los pines de la comunicacin: el 0 correspondera a tensin y el 1 a masa. El estado inactivo o de reposo (a 1) se correspondera con tensin nula Esta opcin no debera utilizarse si se emplea el mdulo SCI interno BITS=x Se especifica el tamao de los datos que sern enviados, x puede tomar un valor comprendido entre 5 y 9 si se implementa por software la comunicacin o bien de 8 9 si se emplea el mdulo SCI interno
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

Lenguaje C aplicado a microcontroladores PIC

FLOAT_HIGH En estado alto, la lnea no estar en un nivel alto sino en un estado de tensin flotante debido a que la salida que la controla es del tipo drenador (o colector) abierto BRGH1OK Con esta opcin el compilador permite la generacin de cdigo an en aquellos dispositivos que presentarn problemas en su velocidad de transmisin PARITY=x -> x puede ser N (none: sin), O (odd: impar) o E (even: par) Si se especifica el empleo de paridad, se enva un bit adicional como comprobacin y en el supuesto de que se produzca un error, ste quedara registrado en una variable denominada RS232_ERRORS ERRORS Si se emplea esta opcin, el compilador define una variable llamada RS232_ERRORS que recoge los errores en cada recepcin y los resetea despus de que stos se produzcan
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

Lenguaje C aplicado a microcontroladores PIC

La variable RS232_ERRORS (definida por el compilador) contiene: a) Si se est utilizando una implementacin software: En el bit 7, el 9 bit si se est utilizando tamao de 9 bits en transmisin El bit 6 se pone a 1 si se produjo un fallo en el envo con el modo de tensin flotante de salida b) Si se est empleando una UART interna: Es una copia del registro RCSTA (slo para recepcin), salvo el bit 0 que se emplea para indicar error de paridad

Registro RCSTA

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

Lenguaje C aplicado a microcontroladores PIC

Ms acerca de la Directiva #USE RS232(opcin, opcin,...) Si la implementacin va a realizarse por software (no se va a utilizar un mdulo SCI interno), es importante que las directivas #USE FAST_IO o bien #USE FIXED_IO vayan delante de esta directiva pero no la directiva #USE STANDARD_IO por la manera en que se generara el cdigo de puesta a 1 o puesta a 0 de las lneas de salida Las funciones integradas del compilador ms usadas para comunicacin serie asncrona a las que afecta esta directiva son las siguientes: Para CONFIGURACIN: Para TRANSMISIN: set_uart_speed( ) putc() o su equivalente: putchar() puts() printf() kbhit() getc() o sus equivalentes getch() y getchar() gets()
ATE-Universidad de Oviedo-Fernando Nuo

Para RECEPCIN:

Comunicacin Serie Asncrona en C

Lenguaje C aplicado a microcontroladores PIC

Las Funciones Integradas para la Com. Serie Asncrona (Configuracin): set_uart_speed(baudios) Esta funcin slo se puede emplear en aquellos dispositivos que utilizan el mdulo SCI (USART) interno hardware. La funcin se emplea para cambiar la velocidad de transmisin/recepcin en tiempo de ejecucin (no en la compilacin) P.e.: switch( input_d() & 0x03) { case 0: set_uart_speed(2400); break; case 1: set_uart_speed(4800); break; case 2: set_uart_speed(9600); break; case 3: set_uart_speed(19200); break; } //Con los pines RD0 y RD1 se selecciona la velocidad
ATE-Universidad de Oviedo-Fernando Nuo

Comunicacin Serie Asncrona en C

Lenguaje C aplicado a microcontroladores PIC

Las Funciones Integradas para la Com. Serie Asncrona (Transmisin): putc() putchar() (son idnticas) putc(caracter) Se enva un carcter a travs del pin especificado para envo (XMIT) en la directiva #USE RS232 anterior Ejemplo: char mensaje[10]; ... putc(*); for(i=0;i<10;i++) putc(mensaje[i]); Llamada: puts(tira_caracteres)

puts()

La tira de caracteres debe finalizar con un 0. Se enva cada uno de los caracteres de la tira usando la funcin putc(). Despus del envo de la tira de caracteres, se enva un retorno de carro (carcter 13 =0x0D) y un avance de lnea (carcter 10 =0x0A) Ejemplo: puts(Hola que tal);
ATE-Universidad de Oviedo-Fernando Nuo

Comunicacin Serie Asncrona en C

10

Lenguaje C aplicado a microcontroladores PIC

printf()

printf(tira_caracteres) printf(tira_car_constantes,Valores...) printf(Funcin, tira_car_constantes, Valores...)

Valores son variables en una lista separadas por comas Funcin es el nombre de la funcin que se debe emplear para sacar los caracteres (si no se especifica nada es la putc() por defecto) Esta funcin saca, mediante la Funcin de salida especificada, los caracteres y los valores para su representacin. Si se especifican Valores, la tira de caracteres debe ser constante y se puede insertar la representacin de los valores utilizando el carcter especial % seguido del nmero de caracteres a utilizar (opcional de 1 a 9 01 a 09 si se desean representar los ceros a izq.) y del tipo de dato, que puede ser: C como carcter U como entero sin signo X como hexadecimal D entero con signo lu entero largo sin signo LX hexadecimal largo ld entero largo con signo
11

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

Lenguaje C aplicado a microcontroladores PIC

Ejemplos:

Especificacin %03u %u %2u %d %X

Valor_1=0x12 018 18 18 18 12

Valor_2=0xFE 254 254 ?Indefinido -2 FE

Otros ejemplos:

Representacin que se vera

printf(Temporizador 0: %2X,get_rtcc()); printf(%2u %X %4X \n\r, A,B,C); printf(lcd_putc, N = %u, numero);

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

12

Lenguaje C aplicado a microcontroladores PIC

Las Funciones Integradas para la Com. Serie Asncrona (Recepcin): Importante: Estas funciones tienen un comportamiento diferente si la comunicacin est implementada mediante el hardware o por software getc() getch() getchar() (son idnticas) valor = getc( )

Cuando se la llama, espera por la llegada de un byte en el pin de recepcin RCV especificado en la directiva #USE RS232 y devuelve dicho byte como resultado. Si la recepcin est implementada mediante el mdulo USART hardware, se puede hacer uso del triple buffer existente sin perder datos. Si est implementada por software, debemos estar esperando cada byte con getc() para no perder recepciones. Para evitar que el microcontrolador quede colgado esperando de manera indefinida la recepcin de un byte que no llega, se debera usar la funcin kbhit() para verificar si ha llegado un carcter y est disponible
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

13

Lenguaje C aplicado a microcontroladores PIC

kbhit()

Llamada: valor = kbhit( )

Esta funcin devuelve 0 (FALSE) 1 (TRUE) si la funcin getc() necesitara conocer la disponibilidad de un carcter (byte) para ser ledo. Si la comunicacin est gestionada por software, la funcin devuelve TRUE si se ha detectado un bit de START en el pin de recepcin Si est implementada con la USART hardware, devuelve TRUE si el byte ha sido recibido y est disponible en el buffer para ser ledo mediante getc() Ejemplo de Funcin que espera 0,5 segundos como mximo char getc_con_tiempo( ) { int t_maximo=0; while(!kbhit( ) && (t_maximo++ < 50) delay_ms(10); if(kbhit( )) return(getc( )); //devuelve carcter recibido else return(0); } //si no lleg nada devuelve 0
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

14

Lenguaje C aplicado a microcontroladores PIC

gets(puntero_a_tira_caracteres)

Llamada gets(puntero)

Esta funcin espera y lee caracteres que va colocando a partir de la posicin sealada por el puntero utilizado como parmetro. Lee hasta que recibe un retorno de carro (13 en decimal 0x0D). La tira de caracteres se finaliza con la inclusin de un cero. Ejemplo: Ejemplo para solicitar clave por pantalla

char tira[30]; do{ printf(Clave:); //se saca mensaje solicitando clave

gets(tira); //se espera por clave con retorno de carro final if(strcmp(tira,password)) //se compara clave introducida con real printf(Correcta); //si coincide correcta else printf(Clave Incorrecta); } while !strcmp(tira,password);
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

15

Lenguaje C aplicado a microcontroladores PIC

Hablando de Tiras de Caracteres... Funciones Estndar para tiras de caracteres: strcat(s1,s2) strchr(s1,c) strrchr(s1,c) strcmp(s1,s2) strncmp(s1,s2,n) stricmp(s1,s2) strncpy(s1,s2,n) strcspn(s1,s2) strspn(s1,s2) strlen(s1) strlwr(s1) strpbrk(s1,s2) Para encadenar tiras de caracteres Localiza c en tira por 1 vez y devuelve direccin (&s1[i]) Idem a la anterior pero empieza bsqueda desde final Compara tiras s1 y s2 y devuelve TRUE si coinciden Compara n caracteres entre s1 y s2 Compara ignorando si son maysculas o minsculas Copia n caracteres de s2 en s1 Cuenta caracteres de s1 que no estn en s2 Cuenta caracteres de s1 que tambin estn en s2 Cuenta los caracteres de s1 Convierte todas las maysculas a minsculas Busca posicin en s2 donde empieza copia de s1

s1 y s2 son punteros a arrays de caracteres


16

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

Lenguaje C aplicado a microcontroladores PIC

La Norma RS232 En principio naci con la idea de recoger todas las posibilidades de comunicacin entre un computador o equipo terminal de datos (DTE o Data Terminal Equipment) y un mdem o equipo de comunicacin de datos (DCE o Data Communications Equipment). Sin embargo su uso se extendi a otras aplicaciones que nada tienen que ver con la intencin original y se emplea para comunicar equipos que no respetan ntegramente la norma o la cumplen slo de manera parcial. De hecho se emplea para comunicar equipos que son ambos DTE (dos PCs un PC con un micro p.e.) que no necesitan la mayora de las lneas de la norma original: detector de portadora (DCD), indicador de llamada (RI), canal secundario, Los conectores que se suelen utilizar en los equipos son: Conector SUB-D de 25 pines Conector SUB-D de 9 pines Conector SUB-D de 15 pines de alta densidad (ms extrao)
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

17

Lenguaje C aplicado a microcontroladores PIC

El conector de 25 pines es el que dispone de todas las seales definidas en la norma inicial, los otros dos prescinden de algunas de las seales. Como recomendacin general: si necesitamos comunicar nuestro micro con otro equipo que disponga de un puerto de comunicacin serie segn norma RS232 y dado que cada fabricante hace su interpretacin particular de la norma, consultemos los correspondientes manuales y esquemas para saber exactamente qu tipo de seales est utilizando y en qu pines. Como ejemplo tenemos los puertos serie de un PC (COMn), que presentan de manera mayoritaria unos conectores SUB-D de 9 pines hembra (aunque la norma original deca que los DTE deberan ser machos)

Vista desde el exterior del conector del PC


Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

18

Lenguaje C aplicado a microcontroladores PIC

Funcionalidad de los pines en el conector SUB-D 9 del PC : Pin 1 Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7 Pin 8 Pin 9 DCD (Entrada al Puerto: Deteccin de Portadora) RXD (Entrada de Recepcin de Datos) TXD (Salida de Transmisin de Datos) DTR (Salida: PC listo para recibir, es la respuesta a CTS) MASA COMN DSR (Entrada: PC puede enviar datos, como respuesta a RTS) RTS (Salida: PC pide envo de datos, le responderan con DSR ) CTS (Entrada: Pregunta exterior sobre si PC listo para recibir, contestar con DTR) RI (Entrada: Indicador de llamada, slo si es realmente un mdem el otro equipo)

Protocolos de envo y de recepcin: RTS-DSR funcionan como pregunta-respuesta para enviar datos desde el PC CTS-DTR tambin son pregunta-respuesta para recibir datos en el PC
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

19

Lenguaje C aplicado a microcontroladores PIC

Para realizar la conexin entre un microcontrolador y un PC, ser necesario realizar la correspondiente adaptacin de los niveles de tensin que utiliza el microcontrolador a los niveles de la norma RS232 1 -> 5V 0 -> 0V Micro a 5V lectura y escritura 1 -> -5V a -15V 0 -> +5V a +15V Escritura RS232 1 -> -3V a -15V 0 -> +3V a +15V Lectura RS232

Existen varios circuitos integrados comerciales que realizan esta adaptacin con muy pocos componentes (p.e. la familia MAX220 a 249) La conexin puede realizarse utilizando las lneas que se consideren oportunas. Se puede simplificar el conexionado y obviar las lneas de pregunta-respuesta engaando al emisor para hacerle creer que el receptor est siempre listo. El truco pasa por puentear las lneas de peticin de envo y las respuestas.
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

20

Lenguaje C aplicado a microcontroladores PIC

Emisores/Receptores de 2 canales para adaptacin TTL - RS232 y viceversa Una sola alimentacin de 5V para generar tensiones de +10V y -10V

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

21

Lenguaje C aplicado a microcontroladores PIC

Conexin serie segn norma RS232: Comunicacin PIC - PC (puerto serie)

1 -> 5V 0 -> 0V RX TX GND EJEMPLO DE CONEXIN A 3 HILOS FULL DPLEX Driver RS232 (MAX232)

Niveles escritura RS232 1 -> -5V a -15V 0 -> +5V a +15V TX RX GND Niveles lectura RS232 1 -> -3V a -15V 0 -> +3V a +15V Pin3 Pin2 Pin5

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

22

Lenguaje C aplicado a microcontroladores PIC

La Norma RS485 Es una norma de comunicacin serie asncrona que utiliza dos lneas (A y B) de manera que la tensin diferencial entre ambas marca el nivel lgico que se est enviando. La transferencia es semi-dplex ya que slo es posible que un equipo enve, gobernando las lneas de datos A y B, y otro u otros equipos reciban. Est pensada para una comunicacin multipunto. La norma RS485 define nicamente la especificacin elctrica del interface y no un conector especfico. El medio fsico es un par de hilos trenzados entre s para reducir el posible ruido electromagntico inducido. El estndar RS485 permite la interconexin de hasta 32 dispositivos sobre un nico par de hilos, con velocidades de hasta 10Mbits por segundo y una distancia mxima de 1200 metros. Ambas magnitudes, velocidad y distancia estn ligadas entre s, de manera que si se aumenta una, se debe reducir la otra.
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

23

Lenguaje C aplicado a microcontroladores PIC

Posibles Circuitos de adaptacin a un bus RS485 Impedancias de terminacin a ambos lados

Emisor (driver)

Receptor (receiver)

Emisor/Receptor (transceiver)

El margen de la tensin de modo comn permitida en los terminales de entrada A y B respecto a la masa del receptor est comprendida entre -7V y 12V. Si el terminal A est a una tensin superior a B (con un valor diferencial superior a 0,2V) se estar recibiendo un 1 y en caso contrario (tensin de B superior en ms de 0,2V a A) se interpreta un 0
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

24

Lenguaje C aplicado a microcontroladores PIC

Circuitos de Interface RS485 Las seales elctricas que es capaz de generar y leer la USART interna del microcontrolador (o su implementacin software) deben adaptarse a los niveles diferenciales RS485 mediante algn circuito de interface. Para permitir el envo y la recepcin con un mismo circuito se debe emplear un transceiver. Son circuitos que adems pueden soportar colisiones, es decir que ms de un circuito transmisor est emitiendo (o tratando de emitir ya que se producir un error en los mensajes de ambos) El transceiver integrado ms popular probablemente sea el 75176, capaz de realizar la adaptacin TTL-RS485 y viceversa. Otro transceiver utilizado con frecuencia es el 75184 que es totalmente compatible en patillaje y funcionalidad con el 75176 pero que adems incluye una red de entrada supresora de transitorios de tensin sobre las lneas del bus.
Comunicacin Serie Asncrona en C 25

ATE-Universidad de Oviedo-Fernando Nuo

Lenguaje C aplicado a microcontroladores PIC

Transceiver 75176 Se alimenta con una tensin nica de 5V y combinan el funcionamiento de un driver diferencial triestado de salida con una entrada diferencial para la recepcin.

Encapsulado DIP8 Tabla de verdad como emisor

Diagrama lgico Tabla de verdad como receptor

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

26

Lenguaje C aplicado a microcontroladores PIC

Conexin del transceiver RS485 al microcontrolador Adems de los pines de Recepcin y Transmisin, necesitaremos un pin adicional que controle el sentido de los datos en cada momento (entrada o salida) para habilitar el bloque envo o de recepcin del transceiver. Con dicho pin se podra controlar el terminal DE (habilita envo) y RE (habilita recepcin) del 75176. Como presentan una lgica opuesta, se puede emplear un nico pin para controlar ambos: si pin=0 se habilita la recepcin y se anula el envo, si pin=1 se activa envo y se anula recepcin. Microcontrolador TX RX Enable

75176
D R DE RE A B

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

27

Lenguaje C aplicado a microcontroladores PIC

Programacin en C para transferencia sobre RS485: La directiva #USE RS232 permite definir, adems de los pines de envo y recepcin, un pin de habilitacin que se coloca a 1 durante el envo y a 0 durante la recepcin. Dicho pin se activar por software ya que dicha salida no est disponible en la USART integrada, pero desde el punto de vista del programador, una vez definida la directiva, ser posible utilizar las funciones integradas del compilador. Ejemplo: #use rs232(baud=14400 ,xmit=PIN_C6,rcv=PIN_C7,enable=PIN_C2) ... if (kbhit()) { cola_circular[cola]=getch(); cola++; if (cola>(TAM_BUF_UART-1)) cola=0; }
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

28

Lenguaje C aplicado a microcontroladores PIC

Nota de Inters: Es posible tener activas varias transferencias asncronas del mismo o de diferentes tipos (RS232, RS485,...) con el mismo microcontrolador PIC. La configuracin realizada con la directiva #USE RS232 tiene efecto desde el lugar en que se encuentra dicha directiva para las funciones getc(), putc(), printf() y kbhit() que aparezcan a continuacin y hasta que aparezca una nueva directiva #USE RS232 #USE RS232 no es una lnea de cdigo ejecutable si no una configuracin para las funciones que le siguen, trabaja de manera similar a una directiva #DEFINE. De este modo, podramos incluir una directiva #USE RS232 justo antes de cada una de las funciones que queramos utilizar para una transferencia asncrona con una determinada configuracin o bien definir unas nuevas funciones con la cabecera de configuracin correspondiente al tipo de comunicacin serie asncrona que queramos emplear.
Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

29

Lenguaje C aplicado a microcontroladores PIC

Ejemplo: Se incluyen dos directivas y se definen funciones especficas


void enviar_RS485( char c) { putc( c ); } char tomar_RS485( ) { return(getc( )); } //Para enviar por RS485 //Para recibir por RS485

#use rs232(baud=9600 ,xmit=PIN_B1,rcv=PIN_B2) void enviar_RS232( char c) //Para enviar por RS232 { putc( c ); } char tomar_RS232( ) //Para recibir por RS232 { return(getc( )); } main( ) { ... caracter=tomar_RS485(); Recibo por RS485 enviar_RS232(carcter-0); } enviar_RS485(nuevo);

Envo por RS232 Envo por RS485


30

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

PARA RS232

PARA RS485

#use rs232(baud=14400 ,xmit=PIN_C6,rcv=PIN_C7,enable=PIN_C2)

Lenguaje C aplicado a microcontroladores PIC

El mismo ejemplo: Se incluye la directiva justo antes de la llamada a la funcin integrada main() {... #use rs232(baud=14400 ,xmit=PIN_C6,rcv=PIN_C7,enable=PIN_C2) carcter = getc( ); //Recibir con la configuracin para RS485

#use rs232(baud=9600 ,xmit=PIN_B1,rcv=PIN_B2) putc(carcter-0); //Enviar con la configuracin de RS232

#use rs232(baud=14400 ,xmit=PIN_C6,rcv=PIN_C7,enable=PIN_C2) putc(nuevo); }


Comunicacin Serie Asncrona en C
ATE-Universidad de Oviedo-Fernando Nuo

//Enviar con la configuracin RS232

31

Lenguaje C aplicado a microcontroladores PIC

A CONTINUACIN ALGUNOS EJEMPLOS DE CONEXIN ENTRE EL PIC EN PICDEM2 plus Y EL PUERTO SERIE DE UN PC, TRABAJANDO STE COMO EMULADOR DE TERMINAL Programas > Accesorios > Comunicaciones > Hyper Terminal Se mostrar lo que se reciba por el COMn y sacar por dicho puerto serie el cdigo ASCII correspondiente a la tecla que se pulse con el teclado del PC

Configuracin de HyperTerminal

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

32

Lenguaje C aplicado a microcontroladores PIC

Se podra utilizar una utilidad del Compilador de CCS: SIOW Tambin es un emulador de terminal

Comunicacin Serie Asncrona en C

ATE-Universidad de Oviedo-Fernando Nuo

33

También podría gustarte