Página 1 de 1

Comunicação CAN no CCS

MensagemEnviado: 09 Set 2008 07:39
por jrmanke
Olá Pessoal
Quero fazer uma comunicação entre 2 PICs através do protocolo CAN.
Estou utilizando 2 PICs 18F2580 para este projeto. No CCS tem esta opção de protocolo de comunicação, mas no help as informações sobre o funcionamento das funções são muito confusas.
O principio de funcionamento eu já pesquisei na net, mas eu quero saber o funcionamento passo a passo no CCS.
Alguem já elabourou algum projeto com comunicação CAN no CCS que poderia dar algumas dicas de como configurar o sfotware para este fim?

Att

MensagemEnviado: 09 Set 2008 08:03
por ivansousa
Boas!
Eu já fiz um projecto com o protocolo CAN. O queres mesmo saber? Aquilo n tem mt que saber. Configuras os tempos da can ou deixas em stand, inicias a can, dps atribuis a cada placa 1 id dps é só enviar ou receber. se kiseres receber por interrupção podes fazer:

#int_canrx0
void canrx0_int ( ) {
// METES AKI O CODIGO (BUFFER 0)
}
#int_canrx1
void canrx1_int ( ) {
// METES AKI O CODIGO (BUFFER 1)
}






void main() {

can_init();

enable_interrupts(int_canrx0);
enable_interrupts(int_canrx1);
}

MensagemEnviado: 09 Set 2008 08:51
por jrmanke
Ivansouza.

Aonde eu configuro a minha ID de cada placa?
Caso ocorra um interrupção de entrada de dados do CAN em qual variavel os dados estarão diponibilizados?
Como eu procedo para enviar um dado pela CAN ( Alta ou Baixa Prioridade )?
Como eu configuro a taxa de transmissão? É necessario configurar esta taxa ou posso deixar em stander como mencionado?
No CCS tem outras opções como controle de erros, int de erro ao enviar etc...

Att

MensagemEnviado: 09 Set 2008 21:29
por Djalma Toledo Rodrigues
Você já pesquisou nos Application Notes da Microchip ?
http://www.microchip.com/stellent/idcpl ... &nodeId=64
Lá tem muita informação.

MensagemEnviado: 10 Set 2008 07:25
por jrmanke
Olá Djalma Toledo Rodrigues

Já estive pesquisando sobre os AP no site da microchip, mas parece que alguns AP passou despercebido.
Vou ler estas AP e tentar entender melhor..

Obrigado

Att

MensagemEnviado: 22 Set 2008 13:30
por Martinez_pt
ivansousa escreveu:Boas!
Eu já fiz um projecto com o protocolo CAN. O queres mesmo saber? Aquilo n tem mt que saber. Configuras os tempos da can ou deixas em stand, inicias a can, dps atribuis a cada placa 1 id dps é só enviar ou receber. se kiseres receber por interrupção podes fazer:

#int_canrx0
void canrx0_int ( ) {
// METES AKI O CODIGO (BUFFER 0)
}
#int_canrx1
void canrx1_int ( ) {
// METES AKI O CODIGO (BUFFER 1)
}






void main() {

can_init();

enable_interrupts(int_canrx0);
enable_interrupts(int_canrx1);
}



Olá, vou aproveitar o tópico para não enhcer mais o forum.


Então é assim tb estou a tentar conectar dois módulos com PIC através de rede CAN, será que podias colocar aqui o código referente às funções CAN (dados enviados), estas são chamadas por interrupção?

como que PIC fizeste o barramento?

Obrigado

MensagemEnviado: 26 Set 2008 16:25
por elton de souza
Bem, alguns PIC já possuem controlador CAN interno, necessitando apenas de um transceiver para "criar" o barramento (utilizo o mcp2551 da microchip). No entanto, em devices que não possuem o controlador CAn interno, vc deve utilizar um controlador interno, tipo um mcp2515 (SPI) tb da Microchip.

No mais, pegue como referencia o drive que vem ao instalar o CCS, ele ajuda muito!

Abraço!