Jump to content

Recommended Posts

Posted

Boas.

Estou com alguns problemas em configurar a USART na PIC18f2520, se alguém me conseguir ajudar agradecia,

O que eu pretendo fazer é o seguinte, ao clicar numa tecla do teclado, quero que essa mesma tecla seja impressa na porta série, para tal configurei a usart para receção e transmissão, o código que elaborei foi o seguinte:

void interrupt tempo()
{


    /*TMR0IF=0;

if (RA0==1){ num='1';}
else{ num='2';}*/




if((TXIE==1)&&(TXIF==1)) {
       do{
		TXREG=imprimir[carater++];


	}
	while((imprimir[carater]!=0));
	carater=0;		
    
}
if((RCIF==1)&&(RCIE==1)){
	vec[i] = RCREG;
	RCIF=0;

}

}


void main()
{
TRISA=0b00101111;
TRISB=0b00001111;
ADCON1=0b00001111;// Apenas o AN0 está definido como saída digital--> posteriormente deve-se mudar para anaçógica, para textar o ADCON
TRISC6=0;	
TRISC7=1;	

//habilitar interrupções
GIE=1;		
IPEN=1;		
GIEL=1;	

// Configurar EUSART para transmissão

TXEN=1;	
SYNC=0;	
BRGH=1;
SPBRG=255;	//baud rate de 9.6k	
SPEN=1;
TXIP=1;		
TXIE=1;

// Configurar EUSART para receção

CREN=1;
RCIE=1;
RCIP=1;
RCIF=0;

// Configurar timer 0

TMR0ON=1;	
T08BIT=0; 		
TMR0IE=1;		
TMR0IP=1;
TMR0IF=0; 	
T0CS=0;		
PSA=0;		
T0PS2=1;		
T0PS1=1;		
T0PS0=1;


while(1){

	sprintf(imprimir, "carater %c",vec[0]);   

}
}

de vez  em quando aparece-me o carater correto na porta série, mas não sempre, não consigo perceber porquê:/ se alguém me conseguir ajudar agradecia.

Cumprimentos,

Fred Gomes.

Posted

Sim, mas o problema está relacionado com registos que a maior parte das pessoas que não está ligada à electrónica não sabe o que fazem.

Daí ser melhor colocar lá.

include <ai se te avio>

Mãe () {

}

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.