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 é 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:
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
}
}
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:
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
}
}