LusoRobótica - Robótica em Português

Sistemas específicos => PIC => Tópico iniciado por: patinhofeio em 06 de Novembro de 2013, 15:55

Título: Qual a melhor solução/compilador para programar em c?
Enviado por: patinhofeio em 06 de Novembro de 2013, 15:55
Boas.
Desde que fiz umas formações em PIC com o ASena que tenho andado desligado dos microcontroladores. Assembler é muito trabalhoso e para aplicações mais complexas torna-se complicado de programar.
O C foi-me dado como alternativa para simplificar a programação, mas de C não percebia nada.
Tenho estado a fazer um módulo de C(para computador) e já consigo perceber a lógica do funcionamento da linguagem C.
Entretanto fiz um exemplo em C para converter um texto para morse. No dev C funciona, mas quando tento converter o codigo para mplab (compilador hi-tech) não há meio de acertar nas configurações.
Reparo que no dev C ao clicar em (ctrl) + (space) ele mostra uma lista de funções, variaveis e constantes, que facilitam a programação. No MPLAB, apenas me mostra uma lista reduzida dos registos do pic, mas mesmo usando essas sugestões o mplab dá erro ao compilar, diz que não est´~ao definidas.
Estou a fazer o exemplo para um pic 12f509, e por exemplo se usar o TRISIO para configuar as entradas/saidas, ao compilar ele diz que não está definido.

Posto isto, qual a melhor solução, IDE e Compilador para começar a programar pic em C?

Neste momento tenho o MPlab 8.10 e o hi-tech 9.60
Agradeço qualquer ajuda.
Título: Re: Qual a melhor solução/compilador para programar em c?
Enviado por: jm_araujo em 06 de Novembro de 2013, 16:34
Já experimentaste o MPLABX?
Título: Re: Qual a melhor solução/compilador para programar em c?
Enviado por: patinhofeio em 06 de Novembro de 2013, 17:24
Já experimentaste o MPLABX?
No portatil cheguei a instalar essa versão, mas como não sabia ainda mexer em C nem cheguei a usar.
No pc de casa é que tenho o mplab 8.10 desde que fiz as formações, e como é nesse que tenho compilado os .ASM que tenho mexido(pouco) é que usei para o C também.
Título: Re: Qual a melhor solução/compilador para programar em c?
Enviado por: Ra7or em 06 de Novembro de 2013, 22:43
Vou fazer uma pergunta que pode parecer estúpida, mas tens os "includes" correctos no código?
Título: Re: Qual a melhor solução/compilador para programar em c?
Enviado por: patinhofeio em 07 de Novembro de 2013, 04:41
Vou fazer uma pergunta que pode parecer estúpida, mas tens os "includes" correctos no código?
Acho que sim.
Já tentei o include do pic em questão e já experimentei o pic.h (que pelo que vi é uma biblioteca generalista para carradas de pic, entre os quais a serie 12f que é a que uso.
A minha dúvida nem é como colocar o meu código a funcionar, mas sim que me deiam sugestões de software/compilador que tenha auqela ajuda quando se clica em (ctrl) + (space). No dev c para computador tem essa função e é mais facil programar. Quando se tem duvidas do comando ou no registo/variavel, com essas teclas abre uma janela com as opções disponíveis. O que pergunto é se há algum software que tenha isso funcional para pic.
No matlab 8.10 que uso, essa janela só mostra os registos base do pic. Nem mostra variaveis, nem opções dentro do registo(por exemplo pra aceder a um pino no portB)
Título: Re: Qual a melhor solução/compilador para programar em c?
Enviado por: senso em 07 de Novembro de 2013, 06:10
Datasheet do micro-controlador para começar, tudo está lá explicado, e não no IDE.
Depois, auto-complete, tens de ter os devidos includes para o auto-complete saber o que vai completar, uma coisa é C directo no pc, ou matlab que o interpretador faz parte do matlab em si, agora para um micro, tens de dizer ao editor onde está tudo, porque até vim faz isso, é só dar-lhe o include certo e fazer ctrl+P(se não estou em erro).

Como ide mais recente da microchip tens o MPLABX, o compilador para o 12f é o XC8, mas vai gerar código miseravel.
Título: Re: Qual a melhor solução/compilador para programar em c?
Enviado por: patinhofeio em 07 de Novembro de 2013, 11:13
...
Como ide mais recente da microchip tens o MPLABX, o compilador para o 12f é o XC8, mas vai gerar código miseravel.
Boas.
Achas então melhor manter o compilador hi-tech?
Quando ligar o portatil vou ver se auina tenho o mplabx instalado la para experimentar em C.
O include do pic deve estar a correto, porque se eu o retirar(colocar em comentário) o programa dá mais erros ainda de _undefined.
Título: Re: Qual a melhor solução/compilador para programar em c?
Enviado por: Electropepper em 16 de Setembro de 2014, 06:24
Ainda não vi aqui ninguem mencionar o MikroC, que é o melhorzinho que ai anda se não quiseres ter muito trabalho e ter um prótótipo muito rápido em 3 tempos, é a pagantes mas podes usar sem pagar com a unica limitação de código máximo até 2K.
Título: Re: Qual a melhor solução/compilador para programar em c?
Enviado por: patinhofeio em 16 de Setembro de 2014, 10:06
Obrigado Electropepper
Eu conheço o MicroC, tal como o MicroBasic, mas pelo que reparei, tem algumas alterações em relação ao C (e também no basic) convencional.
Como também escrevo cenas em C para PC, quanto mais standart for o C melhor.
Para já tenho usado o hi-tech com a versão 8.10 do MPLab.(o ambiente do MPLabx é estranha para o que estou habituado.:)
De qualquer forma é mais uma opção para quem de futuro ler este tópico.
Obrigado.
Título: Re: Qual a melhor solução/compilador para programar em c?
Enviado por: Dave em 20 de Setembro de 2014, 12:38
Compiladores XC... é o melhor que à para PIC.
Abaixo disso o CCS também não é nada mau e é dos mais antigos a trabalhar com a microchip.

Quanto ao XC8, finalmente estão a mexer em algumas bibliotecas que ainda estavam muito atrasadas e estão a actualizar aquilo...
Só peca por alguns problemas de "ligação" ao ficheiro certo, mas depois de copiar tudo para a pasta de projecto e refazer os includes para essa mesma pasta é um óptimo compilador em C ANSI.

Se alguém quiser fazer um projecto mesmo muito rápido e não quiser saber de nada do que vai lá "por trás" ou da optimização do processo, é instalar o flowcode e em 5 min tem um projecto super complexo a trabalhar...
;)
Título: Re: Qual a melhor solução/compilador para programar em c?
Enviado por: Electropepper em 01 de Outubro de 2014, 10:43
Ainda ninguem mencionou o SDCC (http://sdcc.sourceforge.net/), não é dos melhorzinhos nem com mais suporte mas é opensource e para coisas mais básicas chega muito bem, recentemente escrevi um tutorial para usalo juntamente com o pickit3 apenas pela consola em ubuntu.
Tutorial pic sdcc consola (http://electropepper.org/blog/item/linux-terminal-only-pic-programming)