Hola a todos!!!
Era para ver si me podrias hechar una mano, ando detras del proyecto final de carrera y me estoy intentando familiriazar con el pic y too su mundillo. Ando haciendo un programilla para que el pic me envie el abecedario completo al hyperterminal a la vez que mediante un juego de led q tiene la placa con la que estoy jugando, PICDEM HPC EXPLORER BOARD, me muestre su valor hexadecimal iluminando los correspondioentes led.
Todo creo q esta mas o menos bien hecho, me estado guiando por la marivilla de tutorial de Suky, y mas o menos e sacado algo, lo malo esq el ejemplo de ese tutorial es de recepcion de datos por el pic, no de envio.
Hice un programa por mi cuenta pero lo malo esq apedar de funcionar perfectamente los led, en el hyperterminal solo me apraecen Ç, 38 para ser exactos,cuando el abecedario tiene 25, enviandome primero una despues 4, o 3, otra vez 1....Ademas de que intetnto que cuando el rs232 este transmitiendo a traves de la funcion Busyusart, se me enciendo un led exteriror a la placa y no se me enciende.
No se donde podre tener el fallo y llevo ya una semana detras de el...Os dejo el programa aqui y si alguien me pudiera echar una manita se lo agradeceria!!!
//*includes*//
#include <p18f8722.h>
#include <p18cxxx.h>
#include <usart.h>
#include <delays.h>
//*progrmación pic*//
#pragma config OSC = INTIO67, FCMEN = OFF,IESO = OFF //osc interno de 8Mhz
#pragma config PWRT = ON,BOREN = OFF,BORV = 0
#pragma config WDT = OFF,WDTPS = 32768
#pragma config MCLRE = ON
#pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF
//*main*//
void main(void)
{
//* configuración de usart
Open1USART( USART_TX_INT_OFF & //sin interrupciones de transmision
USART_RX_INT_OFF &
USART_ASYNCH_MODE & //modo asincrono
USART_EIGHT_BIT & //8bit
USART_CONT_RX & //recepcion-envio continuo
USART_BRGH_HIGH,51 ); // velocidad oscilador 8mhz, baud =9600//
//* intento de hacer funcionar los led, segun el valor hexadecimal de cada letra
ADCON1=0x0F; //**salidas/entradas digitales; 0 salidas /1 entrada
TRISD = 0;
TRISA = 0;
TRISB = 1;
while(1){
if (PORTBbits.RB0==1){ //Leds apagados.-
PORTD=0;
}
else {
char a=0x61;
char z=0x7A;
for(PORTD=a;PORTD<=z;PORTD++){
Write1USART( PORTD );
Delay10KTCYx(15); //retardo entre letra y letra
while (Busy1USART()==1){ //mientras usart transmita encender led aparte de la placa
LATAbits.LATA1=1;
}
}
Close1USART();
}
}
}
Esperando alma caritativa q responda, gracias por adelantado!!