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

Como Utilizar UART_Transmit em Microcontroladores Microchip

A comunicação serial é uma das formas mais comuns de comunicação entre dispositivos eletrônicos. A UART (Universal Asynchronous Receiver/Transmitter) é um dos protocolos mais utilizados para essa finalidade. No ambiente de microcontroladores Microchip, a função UART_Transmit é essencial para enviar dados de um microcontrolador para outro dispositivo, como um computador ou outro microcontrolador. Este artigo irá abordar como utilizar a função UART_Transmit em microcontroladores Microchip, sua importância e exemplos práticos para facilitar a compreensão.

Exemplos:

Configuração Inicial da UART

Antes de utilizar a função UART_Transmit, é necessário configurar a UART no microcontrolador. Abaixo está um exemplo de configuração para um microcontrolador PIC16F877A utilizando o compilador MPLAB XC8.

#include <xc.h>

#define _XTAL_FREQ 20000000  // Define a frequência do oscilador

void UART_Init(long baud_rate) {
    unsigned int x;
    x = (_XTAL_FREQ - baud_rate*64)/(baud_rate*64); // Calcular o valor do SPBRG para a taxa de baud desejada
    if(x > 255) {
        x = (_XTAL_FREQ - baud_rate*16)/(baud_rate*16);
        BRGH = 1; // Alta velocidade
    }
    if(x < 256) {
        SPBRG = x; // Configurar o registrador SPBRG
        SYNC = 0;  // Modo assíncrono
        SPEN = 1;  // Habilitar porta serial
        TRISC7 = 1;  // RX como entrada
        TRISC6 = 1;  // TX como saída
        CREN = 1;  // Habilitar recepção contínua
        TXEN = 1;  // Habilitar transmissão
    }
}

Utilizando UART_Transmit

Depois de configurar a UART, podemos utilizar a função UART_Transmit para enviar dados. Abaixo está um exemplo de como enviar um caractere e uma string.

void UART_Transmit(char data) {
    while(!TXIF);  // Esperar até que o buffer de transmissão esteja vazio
    TXREG = data;  // Colocar o dado no registrador de transmissão
}

void UART_Transmit_String(const char *str) {
    while(*str) {
        UART_Transmit(*str++);  // Enviar cada caractere da string
    }
}

void main() {
    UART_Init(9600);  // Inicializar UART com taxa de baud de 9600
    UART_Transmit('A');  // Enviar caractere 'A'
    UART_Transmit_String("Hello, World!");  // Enviar string "Hello, World!"
    while(1);
}

Testando a Comunicação

Para testar a comunicação, você pode conectar o microcontrolador a um computador via um conversor USB-Serial e utilizar um software de terminal serial, como o PuTTY ou o Tera Term, para visualizar os dados enviados.

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.