Ir ao conteúdo

[PROBLEMAS] USART - PIC 18F4550 - MPLAB C18


Tiago Millioli

Posts recomendados

Postado

Olá pessoal,

 

Alguém, por favor, poderia me ajudar a resolver esse problema.

Estou querendo usar a comunicação serial do PIC18F4550. meu objetivo é usá-la para conectar a um módulo bluetooth para usar em um projeto, porém não estou conseguindo nem enviar um simples dado pela porta serial do PIC (Na verdade não consigo enviar o dado correto). Alguem poderia me ajudar? Segue o código abaixo:

 

 

 

 

#include <p18f4550.h> //arquivo de cabeçalho do PIC18f4550D
#include <stdio.h>
#include <usart.h>
 
 
#pragma config FOSC=HS
#pragma config CPUDIV=OSC1_PLL2
#pragma config WDT=OFF
#pragma config PWRT=ON
#pragma config BOR=ON
#pragma config BORV=1
#pragma config PBADEN=OFF
#pragma config LVP=OFF
 
 
 
void main (){
 
            TRISC = 0b10111111;
            OSCCONbits.IDLEN=0;
 
 
            OpenUSART(USART_TX_INT_OFF & 
                                USART_RX_INT_OFF & 
                                 USART_ASYNCH_MODE &
                                 USART_EIGHT_BIT &
                                 USART_BRGH_LOW,31);
 
            baudUSART(BAUD_8_BIT_RATE &
                                 BAUD_AUTO_OFF &
                                 BAUD_WAKEUP_OFF);
 
             while (1)
            {
                     while(BusyUSART()); 
                     putcUSART('A');
                     while(BusyUSART()); 
                     putcUSART('B');
                     while(BusyUSART()); 
                    putcUSART('C');
           }
}
 
 
 
OBS.: Estou usando cristal de 20MHz.
          Dado quer recebo é errado
          baud=9600
          Uso o proteus para fazer as simulações
 
Agradeço a todos que puderem me ajudar
Postado

Mas meu interesse é usar o que eu to fazendo saca? Não o porque eu usar outro codigo, primeiro, porque nao vou aprender a usar e depois, caso eu precise modifcar ou alguma coisa é mais fácil eu modificar o meu saca? mas mesmo assim, obrigado pelo seu codigo, eu dei uma olhada, mas nao consegui entender e com usar....se você puder olhar o meu codigo agradeço muito

Postado


#include <p18cxxx.h> // Biblioteca com as definições do PIC 18F4550

#include <delays.h> // Biblioteca para gerar atrasos

#include <usart.h>

/************************************************DEFINES**********************************************/

#pragma config FOSC=HS

#pragma config CPUDIV=OSC1_PLL2

#pragma config WDT=OFF

#pragma config PWRT=ON

#pragma config BOR=ON

#pragma config BORV=1

#pragma config PBADEN=OFF

#pragma config LVP=OFF

/*******************************************************************************************************/

void main (){

TRISC = 0b10111111;

//Configura como oscilador externo - 20Mhz

OSCCONbits.SCS0 = 0;

OSCCONbits.SCS1 = 0;

//Define TX como transmissor (saída)

TRISCbits.TRISC6 = 0;

//Define RX como receptor (entrada)

TRISCbits.TRISC7 = 1;

OpenUSART(USART_TX_INT_OFF &

USART_RX_INT_OFF &

USART_ASYNCH_MODE &

USART_EIGHT_BIT &

USART_BRGH_LOW,31);

baudUSART(BAUD_8_BIT_RATE &

BAUD_AUTO_OFF &

BAUD_WAKEUP_OFF);

while (1)

{

while(BusyUSART());

putcUSART('A');

Delay10KTCYx(250); // Delay 10000*250 Ciclos

while(BusyUSART());

putcUSART('B');

Delay10KTCYx(250); // Delay 10000*250 Ciclos

while(BusyUSART());

putcUSART('C');

Delay10KTCYx(250); // Delay 10000*250 Ciclos

}

}

Postado

Faz o seguinte,posta um link com o Projeto do Proteus e o projeto C18,assim ja postamos tudo funcionando e corrigido para você ver onde estava o problema.

Postado

@Tiago Millioli,não tenho muita experiência com o Protesu(os ajustes)mas o problema é o sguinte;

1-Clicando em cima do micro,escolha nas propriedades o valor da frequencia em 20MHZ e não 4MHZ.

2-Na propriedade do terminal altere em 'RX/TX polarity' em 'inverted'.

Só isso.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!