Está en la página 1de 8

Comunicación Serial

Ing. Edgar Andre Manzano Ramos

Universidad Nacional de Trujillo


emanzano@unitru.edu.pe

5 de enero de 2024

Ing. Edgar Andre Manzano Ramos (UNT) Microprocesadores y Sistemas Embebidos 5 de enero de 2024 1/8
Transmisión Serie

Para los PIC, tenemos dos modos de transmisión en serie:


El puerte serie sı́ncrono (SSP).
La interfaz de comunicación serie (SCI) o receptor transmisor serie
sı́ncrono ası́ncrono universal (USART).

Para el SSP tendrı́amos dos interfaces de trabajo:


Interfaz serie de periféricos (SPI).
Interfaz Inter-Circuitos (I 2 C ).

El módulo USART/SCI es talvez el más utilizado entre los módulos de


interfaz serie. El modo más habitual de transmisión por el USART es el
modo ası́ncrono, teniendo distintas normas de este modo de transmisión
como la RS232, la RS485, etc; las cuales suelen necesitar circuitos
externos de adaptación debido a trabajar con niveles distintos de voltaje.

Ing. Edgar Andre Manzano Ramos (UNT) Microprocesadores y Sistemas Embebidos 5 de enero de 2024 2/8
El módulo USART/SCI en C

#USE RS232 (opciones)


Permite configurar varios parámetros del USART: velocidad de transmisión
pins utilizados, etc. Esta directiva habilita el uso de funciones tales como
GETCH, PUTCHAR y PRINTF

putc(data)
putchar(data)
Envı́a un caracter mediante la patilla XMIT.

puts(string)
Manda los caracteres de la cadena, uno a uno, a través del vus RS232
utilizando la función PUTC();

Ing. Edgar Andre Manzano Ramos (UNT) Microprocesadores y Sistemas Embebidos 5 de enero de 2024 3/8
Módulo RS232 en C

printf(fname,cstring,values...)
cstring : es una cadena de caracteres.
fname: funciones a utilizar para escribir la cadena de caracteres, por
defecto es PUTC().
values: valores a incluir en la cadena, separados por comas, indicando el
formato a utilizar ( %nt).
Ejemplos:
printf(”Hola”);
printf(RTCCValue=> %2\n\r”,get rtcc());
printf(” %2u %X %4X\n\r”,x,y,z);
printf(LCD PUTC,”n= %c”,n);

Ing. Edgar Andre Manzano Ramos (UNT) Microprocesadores y Sistemas Embebidos 5 de enero de 2024 4/8
Formatos
Formato %nt
n: es opcional e indica (0-1): número de caracteres, (01-09): cantidad de
ceros a la izquierda, (1.1-9.9): coma flotante.
t: representa: c: caracter, s: cadena de caracteres, u: entero sin signo, d:
entero con signo

Formato Valor=0x12 Valor=0xFE


%03u 018 254
%u 18 254
%2u 18 *
%5 18 254
%d 18 -2
%x 12 fe
%X 12 FE
%4X 0012 00FE
%3.1w 1.8 25.4
Ing. Edgar Andre Manzano Ramos (UNT) Microprocesadores y Sistemas Embebidos 5 de enero de 2024 5/8
Módulo RS232 en C

value=getc()
value=getch()
value=getchar()
En los dispositivos con USART interno, se pueden almacenar hasta tres
caracteres; para evitar esperas se puede usar la función KBHIT().

valor=kbhit()
valor es 0 (FALSE) si GETC() debe esperar a que llegue un caracter; 1
(TRUE) si ya hay un caracter listo para ser leı́do.

Ing. Edgar Andre Manzano Ramos (UNT) Microprocesadores y Sistemas Embebidos 5 de enero de 2024 6/8
Modulación por ancho de pulso (PWM)

setup ccpx(modo)
El módulo CCP puede trabajar en modos comparador, captura y PWM. En
este caso utilizaremos el modo CCPP WM

setup pwmx duty(valor)


valor es un dato de 8 o 16 bits que junto con el valor del preescaler del
TMR2, determina el ciclo de trabajo del PWM.

Por tanto, para configurar el modo PWM adecuadamente, también se


tiene que configurar el TMR2.
El periodo de la señal PWM se obtendrá a partir de la siguiente fórmula:

PWMT = (PR2 + 1),4.Tosc .(preescaler (TMR2))

Donde el valor PR2 se configura en el TMR2.

Ing. Edgar Andre Manzano Ramos (UNT) Microprocesadores y Sistemas Embebidos 5 de enero de 2024 7/8
Consultas
e-mail: emanzano@unitru.edu.pe

Ing. Edgar Andre Manzano Ramos (UNT) Microprocesadores y Sistemas Embebidos 5 de enero de 2024 8/8

También podría gustarte