Autor Tema: BaudRate PIC18F25J10 cristal a 10Mhz  (Leído 1517 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado herman

  • PIC10
  • *
  • Mensajes: 7
BaudRate PIC18F25J10 cristal a 10Mhz
« en: 25 de Septiembre de 2009, 00:01:49 »
Hola a todos, junto con saludar y felicitarlos por el portal comento que soy nuevo en el foro y en los microcontroladores PIC.

Mi situación es que tengo una placa con microcontrolador PIC18F25J10 y cristal a 10Mhz.
He configurado el puerto serial en C usando MCC18, obteniendo solo basura en el hiperterminal de windows.

Les agradezco me puedan ayudar a detectar cual puede ser mi problema en el código.

Saludos cordiales

Código: [Seleccionar]
# include <p18f25j10.h>
#pragma config DEBUG = OFF
#pragma config XINST = ON 
#pragma config WDTEN = OFF
#pragma config CP0 = OFF
#pragma config FCMEN = OFF
#pragma config IESO = OFF
#pragma config FOSC2 = ON
#pragma config FOSC = HS
#pragma config WDTPS = 1
//#pragma config XINST = OFF

#include <delays.h>
#include <stdlib.h>
#include <adc.h>
#include <usart.h>
#include <stdio.h>

// MAIN

void main(void)
{
unsigned int Canal_0, Depaso =0;
char valor[4];


OpenADC(ADC_FOSC_RC & //Config conversor AD
ADC_8_TAD   &
ADC_RIGHT_JUST,
ADC_VREFPLUS_VDD &
ADC_INT_OFF, ADC_CH0);


OpenUSART(USART_TX_INT_OFF  & //config USART
  USART_RX_INT_OFF  &
  USART_ASYNCH_MODE &
  USART_EIGHT_BIT   &
  USART_CONT_RX     &
  USART_BRGH_HIGH,
  64             ); // 9600,8,n,1  (((CLOCK_FREQ/BAUD_RATE)/64) - 1)
// cristal a 10Mhz
while(1)
{
SetChanADC(ADC_CH0); //inicia AD
Delay10TCYx(2); //epera iniciacion
ConvertADC(); //convierte
while (BusyADC()){}; //espera conversion
Canal_0=ReadADC(); //lee conversion

#if (Canal_0 != Depaso) // si el valor leido es diferente al anterior
_asm BTG PORTC, 2, 0 _endasm;// cambia de estado un led
#endif
Depaso = Canal_0; //guarda valor leido para la proxima comparación

itoa(Canal_0, valor); // Convierte a string
putsUSART(valor); // transmite valor
while (BusyUSART()){};  // espera a que se desocupe la usart
putrsUSART( "Hola mundo!" ); // transmite un texto.
}

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: BaudRate PIC18F25J10 cristal a 10Mhz
« Respuesta #1 en: 25 de Septiembre de 2009, 00:16:17 »
Hola herman, le he pegado una mirada al código y no detecto error  :? Agrega el siguiente Fuse y prueba:
CPUDIV = OSC1_PLL2



Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado herman

  • PIC10
  • *
  • Mensajes: 7
Re: BaudRate PIC18F25J10 cristal a 10Mhz
« Respuesta #2 en: 25 de Septiembre de 2009, 00:53:10 »
Hola Suky.. muchas gracias por la pronta respuesta!

Solucionado, modificar la directiva:
 
#pragma config XINST = ON

por

#pragma config XINST = OFF


Con este arreglo logro ver en el hiperterminal 8 caracteres basura y el Hola mundo!, alguna sugerencia para corregir la basura..
SAludos