Programação em C para PIC18f4580

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Programação em C para PIC18f4580

Mensagempor filipespc » 21 Ago 2007 23:45

Boa noite,

Eu trabalho com programação em C.
Até agora, os únicos PIC's que eu já tinha trabalhado tinham sido o PIC18f452 e o PIC18f252.
Estava pesquisando um PIC com módulo para comunicação CAN (vai ser usada para comunicar vários módulos de um sistema de injeção eletrônica) e achei o PIC18f4580. Fiquei muito interessado, me pareceu bem mais completo que o PIC18f452, tendo várias funcionalidades a mais.

O problema é que eu trabalho no compilador PCW - PICC, e acho que algumas funcionalidades do PIC18f4580 não estão previstas nesse compilador. Além disso, procurei na pasta "DEVICES" e não tem um PIC18f4580.h (só um PIC18f458.h), o que eu imaginei significar que não suporta esse PIC.

Eu estava querendo saber, então, se existe um compilador em C que suporte melhor essas funcionalidades (ou talvez até uma versão mais nova do PCW).

Outra dúvida é quanto a material de estudo para essas funções em C. Eu estudei programação para microcontroladores em C no livro do Fábio Pereira, e lá não fala sobre várias funcionalidades, como, por exemplo, a comunicação CAN.

Grato desde já pela atenção, Filipe
filipespc
Bit
 
Mensagens: 16
Registrado em: 11 Dez 2006 15:20

Mensagempor microeletronica » 21 Ago 2007 23:57

Cara,

Utilize o C18 da Microchip. Instale o Compilador gratis da microchip e veja a documentacao deles..

As funcoes ja vem prontas funcionando.
Posso te ajudar nas funcoes, se quiser...

Sobre o PCW, vc pode fazer o arquivo para o 4580 funcionar...
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Mensagempor microeletronica » 22 Ago 2007 00:00

Existem funcoes para J1939 por exemplo, que ja estao prontas pra sua aplicacao... E funcionam muito bem.
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

C18

Mensagempor filipespc » 22 Ago 2007 00:02

Muito obrigado pela dica microeletrônica!
Vou tentar esse C18...
Uma única pergunta (desculpe a ignorância), o que é j1939?
Grato, Filipe
filipespc
Bit
 
Mensagens: 16
Registrado em: 11 Dez 2006 15:20

Mensagempor microeletronica » 22 Ago 2007 00:22

J1939 eh um padrao utilizado na industria automotiva, pra mensagens em CAN. Ele padroniza varias coisas, mensagens, nomes, dados... Cabos, etc..

Com as rotinas prontas do C18, dah pra enviar uma mensagem no CAN facil assim:


Código: Selecionar todos

      unsigned char buffer[8];
      Msg.Priority = J1939_INFO_PRIORITY;
      Msg.PDUFormat = J1939_PF_TEST;
      Msg.DestinationAddress = 0x01;

      memset((char*)Msg.Data, 0x00, 0x08);
      
      Msg.DataLength    = 8;
      strcpy((char*)Msg.Data, (char*)buffer);

      timeOut=50;
      while (J1939_EnqueueMessage( &Msg ) != RC_SUCCESS)
      {
         if (--timeOut==0)
            break;
      }
      J1939_Poll(20);

microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Mensagempor filipespc » 22 Ago 2007 00:32

Putz, isso deve me facilitar muito as coisas...
Muito obrigado mesmo!
Abraço, Filipe
filipespc
Bit
 
Mensagens: 16
Registrado em: 11 Dez 2006 15:20

Mensagempor microeletronica » 22 Ago 2007 00:39

De uma olhadinha em http://ww1.microchip.com/downloads/en/D ... 51297f.pdf e http://ww1.microchip.com/downloads/en/A ... 00930a.pdf

Vai direto nas paginas de exemplo, em especial do segundo datasheet...
As funcoes sao disponibilizadas pela microchip... Funciona muuuuito bem!

e o source code: http://ww1.microchip.com/downloads/en/A ... /J1939.zip
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Mensagempor buiz » 22 Ago 2007 08:48

Olá,

Vc deve estar utilizando o PCW 3.2 passe para o PCW 4 que tem o 18F4580.

Buiz.
Avatar do usuário
buiz
Byte
 
Mensagens: 165
Registrado em: 20 Out 2006 14:59
Localização: Cachoeira do Sul - RS

Olá

Mensagempor filipespc » 23 Ago 2007 14:41

Buiz,

Eu tenho o PCW versão alternativa. Vou ver se acho o PCW 4
O problema é também a falta de documentação... O livro do Fábio Pereira não traz algumas funcionalidades do PIC18f4580. O C18 me pareceu bem documentado.
O único problema é que o C18 parece gravar os pics mais novos (dentres os quais se inclui o PIC18f4580, acredito eu) só durante 60 dias na student version (que é a que eu tenho).

Outro problema que eu estou encontrando é que parece que a minha gravadora (mcflash) não grava PIC18f4580, só o PIC18f458
Eu fui atras de algumas gravadoras diferentes que gravassem esse PIC, e só achei a ICD2, que é muito cara (pouco mais de R$ 250).
Tem alguma alternativa barata de gravadora (que grave o PIC18f4580) e que, de preferência, possibilite a gravação in-circuit?

Muito obrigado pelas dicas que vcs tem dado.
Filipe
filipespc
Bit
 
Mensagens: 16
Registrado em: 11 Dez 2006 15:20

Mensagempor microeletronica » 24 Ago 2007 21:34

Eu nao conheco mais barato.
O ICD2 eeh o mais em conta.

Voce acha alguns schs gratis na internet de icd2 seriais, que ficariam mais baratos.
Algo pronto, pra comprar, o ICD2 eh o mais barato pra esse micro.

;)
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22


Voltar para PIC

Quem está online

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

x