Comunicação CAN

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Comunicação CAN

Mensagempor Alesandro F Zagui » 23 Jul 2011 10:53

Bem, estou com problema na comunicação CAN. Estou implementando uma comunicação entre dois Pic.
Não sei porque diabos o Buffer 0 de recepção não funciona. O Buffer 1 funciona normalmente, mas o problema é que o toda mensagem que chega vai para o Buffer 0 e caso ele esteja cheio, a mensagem é passada para o Buffer 1, ou seja, a primeira mensagem é perdida.

Aqui é onde faço a leitura pra ver se uma nova mensagem chegou:

Código: Selecionar todos
void f_Recebe_Dados_CAN(){

   if (RXB0CONbits.RXFUL){            // Recepção Completa Buffer 0
      
      v_Buffer_Recepcao_CAN[0] = RXB0D0;
      v_Buffer_Recepcao_CAN[1] = RXB0D1;
      v_Buffer_Recepcao_CAN[2] = RXB0D2;
      v_Buffer_Recepcao_CAN[3] = RXB0D3;
      v_Buffer_Recepcao_CAN[4] = RXB0D4;
      v_Buffer_Recepcao_CAN[5] = RXB0D5;
      v_Buffer_Recepcao_CAN[6] = RXB0D6;
      v_Buffer_Recepcao_CAN[7] = RXB0D7;

      f_Interpreta_Dados_CAN();
      RXB0CONbits.RXFUL = 0;   
   }

   if (RXB1CONbits.RXFUL){            // Recepção Completa Buffer 1

      v_Buffer_Recepcao_CAN[0] = RXB1D0;
      v_Buffer_Recepcao_CAN[1] = RXB1D1;
      v_Buffer_Recepcao_CAN[2] = RXB1D2;
      v_Buffer_Recepcao_CAN[3] = RXB1D3;
      v_Buffer_Recepcao_CAN[4] = RXB1D4;
      v_Buffer_Recepcao_CAN[5] = RXB1D5;
      v_Buffer_Recepcao_CAN[6] = RXB1D6;
      v_Buffer_Recepcao_CAN[7] = RXB1D7;
      
      f_Interpreta_Dados_CAN();
      RXB1CONbits.RXFUL = 0;      
   }
}


e aqui é a configuração do ECAN:

Código: Selecionar todos
//   Configura Modo de Operação
   ECANCON = 0b00000000;         // Modo 0 de operacao (Modo Legacy)

// Configura Recepção
   RXB0CON = 0b00100100;
   RXB1CON = 0b00100000;

// Configura Mascara de Aceitação
   RXM0SIDH = 0b00000000;
   RXM0SIDL = 0b00000000;   
   RXM1SIDH = 0b00000000;
   RXM1SIDL = 0b00000000;   


Alguém pode me dizer o que tem de errado?

Obrigado.
Alesandro Freire Zagui
Alesandro F Zagui
Byte
 
Mensagens: 154
Registrado em: 12 Mai 2009 11:03
Localização: Campo Mourao, Pr

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x