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.