Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
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:
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
}
}
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);
}
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.