Ir ao conteúdo
  • Cadastre-se

Diferença em C das familias pic18 e pic16


Felipe_Ribas

Posts recomendados

Pessoal, se escrevo um codigo/biblioteca em C usando MPLAB, tanto faz qual pic16 eu esteja usando? Por ex, posso pegar um tutorial de um pic16f877 e colar num projeto de outro pic (pic16f628a por exemplo) e vai funcionar igual (tomando cuidado com as portas de entradas e saídas só) ?

E isso tambem vale pra familia pic18? Qualquer codigo/biblioteca feito pros pic18s vale pra qualquer modelo?

abs

Link para o comentário
Compartilhar em outros sites

A parte "lógica" do código com certeza funcionará, ou seja, o código vai fazer a mesma coisa que o anterior fazia. Mas é preciso tomar muitos cuidados com relação ao hardware envolvido (periféricos e outros...). Dentro dos 16f ou 18f é mais fácil, mas mesmo assim deves cuidar com relação a assuntos como módulo oscilador, quantidade de RAM e FLASH. Mas é coisa rápida. Migrar um código inteiro de 16f para 18f é mais trabalhoso, tem que rever a estrutura do pic, pois muda algumas coisas com relação ao módulo oscilador e ao sistema de interrupções.

Se a sua necessidade for só migrar um trecho de código ou uma biblioteca fica bem mais fácil, ja migrei códigos de PIC32 para PIC16 sem problema nenhum, inclusive envolviam I2C e com poucos cuidados consegui fazer funcionar.

Só deves cuidar o compilador, não perguntei de início mas estou considerando que usas os compiladores da microchip (HT, C18, C32 ... )

Abraço.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!