Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como Inicializar UART em Microcontroladores Microchip

A UART (Universal Asynchronous Receiver/Transmitter) é um componente fundamental em sistemas embarcados, permitindo comunicação serial entre dispositivos. No contexto dos microcontroladores Microchip, a inicialização correta da UART é crucial para garantir a transmissão e recepção de dados sem erros. Este artigo abordará como configurar e inicializar a UART em microcontroladores Microchip, utilizando exemplos práticos e códigos adaptados para este ambiente.

Exemplos:

  1. Configuração Básica da UART no MPLAB X IDE:

    Para configurar a UART em um microcontrolador Microchip, você pode usar o MPLAB X IDE junto com o MCC (MPLAB Code Configurator). Aqui está um exemplo de configuração para um microcontrolador PIC16F877A:

    // Inclua os cabeçalhos necessários
    #include <xc.h>
    
    // Defina a frequência do oscilador
    #define _XTAL_FREQ 20000000
    
    void UART_Init()
    {
       // Configuração do Baud Rate
       SPBRG = 31; // Para 9600 bps com Fosc = 20MHz
    
       // Configuração do módulo UART
       TXSTAbits.BRGH = 0; // Baud Rate de baixa velocidade
       TXSTAbits.SYNC = 0; // Modo assíncrono
       TXSTAbits.TX9 = 0;  // Modo de 8 bits
       TXSTAbits.TXEN = 1; // Habilita o transmissor
    
       RCSTAbits.SPEN = 1; // Habilita o módulo serial
       RCSTAbits.RX9 = 0;  // Modo de 8 bits
       RCSTAbits.CREN = 1; // Habilita o receptor contínuo
    
       // Configuração dos pinos de E/S
       TRISCbits.TRISC6 = 0; // TX como saída
       TRISCbits.TRISC7 = 1; // RX como entrada
    }
    
    void main()
    {
       UART_Init(); // Inicializa a UART
    
       while(1)
       {
           // Exemplo de transmissão
           while(!TXSTAbits.TRMT); // Espera o buffer de transmissão estar vazio
           TXREG = 'A'; // Envia o caractere 'A'
       }
    }
  2. Recepção de Dados via UART:

    A recepção de dados via UART pode ser realizada monitorando o registrador de recepção. Aqui está um exemplo simples que complementa a configuração anterior:

    char UART_Read()
    {
       while(!PIR1bits.RCIF); // Espera até que o dado seja recebido
       return RCREG; // Retorna o dado recebido
    }
    
    void main()
    {
       UART_Init(); // Inicializa a UART
    
       while(1)
       {
           char receivedData = UART_Read(); // Lê o dado recebido
           // Processa o dado recebido conforme necessário
       }
    }
  3. Uso do MPLAB Code Configurator (MCC):

    O MCC facilita a configuração da UART através de uma interface gráfica. Siga os passos abaixo:

    • Abra o MPLAB X IDE e crie um novo projeto.
    • Adicione o MCC ao projeto.
    • No MCC, adicione o módulo UART.
    • Configure os parâmetros desejados, como Baud Rate, modo de operação, etc.
    • Gere o código e inclua as funções geradas no seu projeto principal.

    O MCC gerará funções como UART1_Initialize(), UART1_Read(), e UART1_Write(), que podem ser usadas diretamente em seu código.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.