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

Como Implementar Comunicação Serial em Microcontroladores Microchip

A comunicação serial é um método fundamental para a troca de dados entre dispositivos eletrônicos. No contexto dos microcontroladores Microchip, a comunicação serial é especialmente importante para permitir a interface com sensores, módulos de comunicação, e outros dispositivos periféricos. Este artigo abordará como implementar comunicação serial em microcontroladores Microchip, utilizando exemplos práticos e códigos adaptados para este ambiente.

Exemplos:

Exemplo 1: Configuração de Comunicação Serial em um PIC Microcontroller

Para configurar a comunicação serial em um microcontrolador PIC, você pode utilizar o módulo EUSART (Enhanced Universal Synchronous Asynchronous Receiver Transmitter). Abaixo está um exemplo de código em C utilizando o compilador MPLAB XC8:

#include <xc.h>

// Configurações de Fuses
#pragma config FOSC = INTRC_NOCLKOUT // Oscilador interno
#pragma config WDTE = OFF            // Watchdog Timer desativado
#pragma config PWRTE = ON            // Power-up Timer ativado
#pragma config MCLRE = OFF           // MCLR desativado, função digital

#define _XTAL_FREQ 4000000 // Frequência do oscilador (4 MHz)

void UART_Init(void) {
    TRISC6 = 0; // TX Pin como saída
    TRISC7 = 1; // RX Pin como entrada
    SPBRG = 25; // Baud rate 9600 para 4 MHz
    TXSTAbits.BRGH = 0; // Baud rate de baixa velocidade
    TXSTAbits.SYNC = 0; // Modo assíncrono
    RCSTAbits.SPEN = 1; // Habilita porta serial (TX e RX)
    TXSTAbits.TXEN = 1; // Habilita transmissão
    RCSTAbits.CREN = 1; // Habilita recepção contínua
}

void UART_Write(char data) {
    while (!TXSTAbits.TRMT); // Espera até que o buffer esteja vazio
    TXREG = data; // Envia o dado
}

char UART_Read(void) {
    while (!PIR1bits.RCIF); // Espera até que o dado seja recebido
    return RCREG; // Retorna o dado recebido
}

void main(void) {
    UART_Init(); // Inicializa UART
    while (1) {
        UART_Write('A'); // Envia caractere 'A'
        __delay_ms(1000); // Espera 1 segundo
    }
}

Exemplo 2: Comunicação Serial com MPLAB Code Configurator (MCC)

O MPLAB Code Configurator (MCC) facilita a configuração de periféricos. Abaixo está um exemplo de como configurar a comunicação serial usando MCC:

  1. Abra o MPLAB X IDE e crie um novo projeto.
  2. Adicione o MCC ao projeto.
  3. No MCC, adicione o módulo EUSART.
  4. Configure o baud rate, pinos de TX e RX, e outras configurações conforme necessário.
  5. Gere o código.

O código gerado pelo MCC pode ser semelhante a este:

#include "mcc_generated_files/mcc.h"

void main(void) {
    // Inicializa o dispositivo
    SYSTEM_Initialize();

    while (1) {
        // Envia caractere 'A' via UART
        EUSART_Write('A');
        __delay_ms(1000); // Espera 1 segundo
    }
}

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.