Página 1 de 1

Ajuda com compilador CCS (Erros)

MensagemEnviado: 15 Fev 2011 18:08
por uilter
Olá pessoal...

Eu sempre desenvolvi em .asm meus projetos da faculdade.
Esse é meu ultimo ano e quero fazer algo em .C e escolhi o compilador CCS junto com o MicroZif da microgenios para simular.

Instalei tudo certinho e escrevi um programa muito simples do livro programação em C do Fabio Pereira. Segue abaixo.

Código: Selecionar todos
#define<16F628.h>
#use delay(clock=4000000)
#fuses INTRC_IO,NOWDT,PUT,BROWNOUT,NOLVP,NOMCLR

main()
{
   int tempo;
   tempo = 300;
   while(1)
   {
      output_high(PIN_B0);
      delay_ms(tempo);
      output_low(PIN_B0);

   }
}


O codigo está igual só que quando vou compilar o MPLAB me apresenta os seguintes erros que não tenho ideia de como resolver:

Executing: "C:\Program Files (x86)\PICC\Ccsc.exe" +FM "pisca3.c" +DF +LN +T +A +M +Z +Y=9 +EA
*** Error 18 "C:\Users\Uilter Witte\Desktop\TESTE PISCA\pisca3.c" Line 1(9,19): File can not be opened
Not in local "C:\Users\Uilter Witte\Desktop\TESTE PISCA\16F628.h"
*** Error 111 "C:\Users\Uilter Witte\Desktop\TESTE PISCA\pisca3.c" Line 3(7,47): Unknown keyword in #FUSES "NOMCL"
*** Error 128 "C:\Users\Uilter Witte\Desktop\TESTE PISCA\pisca3.c" Line 5(1,41): A #DEVICE required before this line
*** "C:\Users\Uilter Witte\Desktop\TESTE PISCA\pisca3.c" Line 11: Error #12: Undefined identifier output_high
*** "C:\Users\Uilter Witte\Desktop\TESTE PISCA\pisca3.c" Line 13: Error #12: Undefined identifier output_low
5 Errors, 0 Warnings.
Halting build on first failure as requested.
BUILD FAILED: Tue Feb 15 18:06:20 2011


Agradeço muito a ajuda! Abraço a todos.

MensagemEnviado: 15 Fev 2011 22:00
por _blackmore_
Um problema aí é o tamanho em bits da variável (int = 8bits = 255), utilize um long int ou int16, procure na pág. 60.

Código: Selecionar todos
*** Error 18 "C:\Users\Uilter Witte\Desktop\TESTE PISCA\pisca3.c" Line 1(9,19): File can not be opened

no while coloque (true) ao invés de (1)


Código: Selecionar todos
Not in local "C:\Users\Uilter Witte\Desktop\TESTE PISCA\16F628.h"

o CCS não encontrou o .h

Código: Selecionar todos
*** Error 111 "C:\Users\Uilter Witte\Desktop\TESTE PISCA\pisca3.c" Line 3(7,47): Unknown keyword in #FUSES "NOMCL"

o CCS não encontrou o .h, talvez por isso não entenda o comando.

Código: Selecionar todos
*** Error 128 "C:\Users\Uilter Witte\Desktop\TESTE PISCA\pisca3.c" Line 5(1,41): A #DEVICE required before this line

o device não está no local indicado.

Código: Selecionar todos
*** "C:\Users\Uilter Witte\Desktop\TESTE PISCA\pisca3.c" Line 11: Error #12: Undefined identifier output_high
*** "C:\Users\Uilter Witte\Desktop\TESTE PISCA\pisca3.c" Line 13: Error #12: Undefined identifier output_low


corrigindo o erro do device este erro deve corrigir automaticamente.

Obrigado e mais uma duvida =)

MensagemEnviado: 17 Fev 2011 17:45
por uilter
Obrigado amigo.. consegui compilar certinho sem erros....

Só que agora meu ICD2BR n consegue rodar o codigo na placa. Os drivers estao instalados corretamente.

Ele chega a aparecer aquela seta verde ao lado do codigo e conecta com o computador. Só que quando vou clicar em RUN ou Step Into ele apresenta os seguintes erros. Sabe me dizer o pq disso?

No Caso estou usando um PIC18F4550 agora.


Codigo
Código: Selecionar todos
#include <18f4550.h>         // identifica microcontrolador alvo
//#device ADC=10              // define AD para 10 bits, variando de 0 a 1023
#use delay (clock=4000000)  // <- define cristal para 4Mhz. Para outros valores, mude e recompile.
//#include <cuscostdio.h>     // inclui biblioteca de funções do projeto CUSCOPiC

main()       // função principal
  {
  output_a(0x00);  // desliga todo PORTA
  output_b(0x00);  // desliga todo PORTB
  output_c(0x00);  // desliga todo PORTC
  output_d(0x00);  // desliga todo PORTD
  while(true)         // para repetir bloco. Laço infinito.
    {
    output_b(0b10101010);  // joga binário 10101010 para portc
    delay_ms(500);         // tempo de 500 ms
    output_b(0b01010101);  // joga binário 01010101 para portc
    delay_ms(500);         // tempo de 500 ms
    }
  }


Erros do MPLAB


Código: Selecionar todos
Connecting to MPLAB ICD 2
...Connected
Setting Vdd source to target
ICDWarn0020: Invalid target device id (expected=0x90, read=0x0)
...Reading ICD Product ID
Running ICD Self Test
...Passed
MPLAB ICD 2 ready for next operation
ICD0083: Debug:  Unable to enter debug mode.  Please double click this message for more information.
Running Target
ICD0083: Debug:  Unable to enter debug mode.  Please double click this message for more information.
ICD0069: Debug:  Unable to run target
MPLAB ICD 2 ready for next operation


Obrigado pela ajuda!

MensagemEnviado: 17 Fev 2011 20:19
por HC908
ele nao conseguio conexão com o chip "
ICDWarn0020: Invalid target device id (expected=0x90, read=0x0) ".
Verifique o cabo ou alimentação do chip. ate mais

MensagemEnviado: 17 Fev 2011 20:27
por uilter
As conexões estão corretas. Falo isso pq estou conectando por ICSP com uma placa da microgenios...

Esse kit : http://www.microgenios.com/produtos/fot ... ic18fG.jpg

Meio dificil ter alguma falha né?

MensagemEnviado: 17 Fev 2011 21:23
por andre_luis
A configuração do MPLAB está para o device correto ?
Quando acontecia comigo era quase sempre por causa disso.

+++

MensagemEnviado: 17 Fev 2011 23:22
por uilter
Esta sim... certinho..

Sera que esse erro n deve ser por causa das configurações de bit...?
Não sei fazer essa configuração (no que mexer e tal)

Alguem sabe?

MensagemEnviado: 22 Fev 2011 22:28
por HC908
este erro realmente é devido falha de comunicação com o chip. verifique conexão com o multimetro. caso esteja tudo correto( alimentação e conexão) o pic foi para o espaço. Ate +.

MensagemEnviado: 22 Fev 2011 22:35
por uilter
Blz... vou verificar as conexões e alimentação.