Estou aprendendo a usar a comunicação usart do pic, mas o pino ra5 do transmissor parece inativo, quero que quando eu aperte uma tecla no pic trasmissor, um led se acenda no receptor.
O problema é que parece que o pic não esta ledo o valor do RA5 do transmissor
adicionado 1 minuto depois
//Transmissao usart simples para didatica
//09/10/2018
//Gradson Negrini
int valor;
void main()
{
CMCON = 0x07; //comaparadores desabilitados
TRISA = 0xFF; //PORTA como entrada
UART1_Init (9600); //baud rate de 9600bps
delay_ms(100);
while (1)
{
valor = PORTA;
if (UART1_Tx_Idle () == 1)
{
UART1_Write (valor);
delay_ms(500);
}
}
}
código do tranmissor
adicionado 2 minutos depois
//Recepção usart simples para didatica
//09/10/2018
//Gradson Negrini
void main()
{
CMCON = 0x07; //comaparadores desabilitados
TRISA = 0x00; //PORTA como entrada
PORTA = 0xFF; //PORTA em nivel alto
UART1_Init (9600); //baud rate de 9600bps
delay_ms(100);
TRISB.Rb5 = 0x00;
PORTB.Rb5 = 0x01;
while (1)
{
if (UART1_Data_Ready ()) // Se os dados forem recebidos,
{ // leia os dados recebidos,
PORTA = UART1_Read ();
PORTA = ~PORTA;
PORTB.Rb5 = PORTA.Ra5;
}
}
}
código do receptor
adicionado 3 minutos depois
esquema