Página 1 de 1

USART 18F4520 C18

MensagemEnviado: 01 Mar 2010 15:51
por renanwalenczuk
Bom não sei o que tem de errado mas não estou conseguindo me acertar com este c18...
O problema é o seguinte, já testei quase todos os periféricos do 4520 com o c18, porém a USART não funfa.
Ja calculei todos os baud rate possíveis e nada!!!
Esse é o código
Código: Selecionar todos
#include <p18F4520.h>
#include <usart.h>
#pragma config OSC=XT
#pragma config WDT=OFF
#pragma config PWRT=ON
#pragma config LVP=OFF

void main(void)
{
   TRISB=0;
   TRISC=0;
   OpenUSART(USART_TX_INT_OFF
         & USART_RX_INT_OFF
         & USART_ASYNCH_MODE
         & USART_EIGHT_BIT
         & USART_BRGH_HIGH
         ,12);
   putrsUSART("Teste USART - PIC18F4520");
   Sleep();
}

Estou utilizando um cristal de 4Mhz, 19200,8,n,1
Desde já agradeço

MensagemEnviado: 01 Mar 2010 15:53
por Sergio38br
19200?? troca o cristal para 8 MHz ou 7372,8 kHz para ser mais exato...

[ ]'s
Sergio

MensagemEnviado: 01 Mar 2010 16:00
por renanwalenczuk
Bom é que eu estou usando uma placa já pronta.
MCLAB2 da labtools

MensagemEnviado: 01 Mar 2010 16:07
por Sergio38br
testa em 2400 ou 4800

[ ]'s
Sergio

MensagemEnviado: 01 Mar 2010 16:23
por renanwalenczuk
Po Sergio38br
Até que deu certo em 4800 (Os dados são recebidos normalmente), porém o baude rate está configurado para alto "USART_BRGH_HIGH", spbrg=51.

MensagemEnviado: 01 Mar 2010 16:38
por renanwalenczuk
Vou ter que seguir o seu conselho Sergio38br.
Coloquei valores aproximados dos baud rates calculados e percebi que há perda de dados por causa do cristal.
troquei para "spbrg=24 : 9600" e apenas o primeiro caractere não está correto, sendo assim terei que trocar mesmo o cristal.