Pièce jointe « capitulo1c.sgml »

Téléchargement

        <sect1 id="uart" xreflabel="uart">
                <title>M&oacute;dulo UART</title>
                <para> Muestra las funciones para poder trabajar con el m&oacute;dulo UART Interno de los PIC.Antes de usar este m&oacute;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 &lt;uart.h&gt;

        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&oacute;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&iacute;ncrono, si no hay ninguno espera a que exista uno, la funci&oacute;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&iacute;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&iacute;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&iacute;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 &lt;pic/p16f877a.h&gt;

#define FOSC_HZ 20000000

#include &lt;uart.h&gt;
#include &lt;delayms.h&gt;

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.
 Tous les fichiers | Fichiers sélectionnés supprimer déplacer vers la page copier vers la page

Vous n'êtes pas autorisé à joindre un fichier à cette page.

Site hébergé sur un Cloud Public IKOULA Ikoula