Pièce jointe « capitulo1c.sgml »
Téléchargement <sect1 id="uart" xreflabel="uart">
<title>Módulo UART</title>
<para> Muestra las funciones para poder trabajar con el módulo UART Interno de los PIC.Antes de usar este módulos se debe definir la frecuencia usar con el comando.
</para>
<para>
<screen>
#define FOSC_HZ 20000000
</screen>
</para>
<para>Se han realizado algunas definiciones como:</para>
<para>
<screen>
#include <uart.h>
SET_1200_8N1
SET_2400_8N1
SET_4800_8N1
SET_9600_8N1
SET_19200_8N1
SET_38400_8N1
SET_57600_8N1
SET_115200_8N1
</screen>
Estas definiciones pueden ser usandas en la función uart_open.
</para>
<sect2 id="uartopen" xreflabel="uart_open">
<title>uart_open</title>
<para>Configura el puerto Serie Asincrono</para>
<screen>
void uart_open( BYTE STATUS_SPBRG, BYTE STATUS_SPEED);
ejemplo:
uart_open(SET_9600_8N1);
</screen>
</sect2>
<sect2 id="uartkbhit" xreflabel="uart_kbhit">
<title>uart_kbhit</title>
<para>Devuelve <keycap>1</keycap> si hay un byte en el buffer de entrada del puerto Serie Asincrono</para>
<screen>
BYTE uart_kbhit(void);
</screen>
</sect2>
<sect2 id="uartgetc" xreflabel="uart_getc">
<title>uart_getc</title>
<para>Lee un byte en el buffer de entrada del puerto Serie Asíncrono, si no hay ninguno espera a que exista uno, la función es bloqueante</para>
<screen>
char uart_getc(void);
</screen>
</sect2>
<sect2 id="uartputc" xreflabel="uart_putc">
<title>uart_putc</title>
<para>Escribe un <keycap>dato</keycap> en el puerto Serie Asíncrono</para>
<screen>
void uart_putc(char dato);
</screen>
</sect2>
<sect2 id="uartputs" xreflabel="uart_puts">
<title>uart_puts</title>
<para>Escribe un cadena de <keycap>datos</keycap> en el puerto Serie Asíncrono</para>
<screen>
void uart_puts(char *datos);
</screen>
</sect2>
<sect2 id="uartclose" xreflabel="uart_close">
<title>uart_close</title>
<para>Cierra el puerto Serie Asíncrono</para>
<screen>
void uart_close(void);
</screen>
</sect2>
<sect2 id="ejemplouart" xreflabel="Ejemplo Uart">
<title>Ejemplo de UART</title>
<para>
para compilar necesitas los siguientes comandos
</para>
<para>
<screen>
Ejemplo de compilacion : ./compila.sh ej_uart 16f877a
</screen>
</para>
<para>
ej_uart.c
</para>
<screen>
#include <pic/p16f877a.h>
#define FOSC_HZ 20000000
#include <uart.h>
#include <delayms.h>
int main (void)
{
char c=0;
char INTRO[6]="HOLA\n";
char FIN[6]="FIN\n";
delayms(100);
uart_open(SET_9600_8N1);
uart_set_baudrate(19200);
uart_puts(INTRO);
while(c!=13)
{
if(uart_kbhit()==1)
{
c=uart_getc();
uart_putc(c);
}
}
uart_puts(FIN);
uart_close();
return 0;
}
</screen>
</sect2>
</sect1>Fichiers joints
Pour vous référer aux pièces jointes d'une page, utilisez attachment:filename, comme indiqué ci-dessous dans la liste de fichiers. N'utilisez pas l'URL du lien [get], car elle peut changer et donc être facilement cassée.Vous n'êtes pas autorisé à joindre un fichier à cette page.

