Erro C213 no Keil! ajuda!

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

Erro C213 no Keil! ajuda!

Mensagempor B-EAGLE » 27 Jun 2007 15:56

pessoal, estou com uma dúvida aqui no seguinte código:

Código: Selecionar todos
include <AT898252.H>


void espera();

void main(){
   

   WMCON &= 0xFE;   
   P0 = 0x00;      
   P1 = 0x2C;      
   P2 = 0x00;      
   P3 = 0x00;      

   IE = 0x90;


   SPCR = 0x94;

   SPCR |= 0x40;


   SPDR = 0x30;
   
   espera();
   
      


   
}

void espera(){
   while(SPIF_ == 0);
   SPIF_ = 1;   
}


está dando o erro C213:

SOURCE.C(49): error C213: left side of asn-op not an lvalue

estou fazendo alguma coisa de errado??

mas não estou conseguindo resolver, se alguém puder ajudar eu agradeço!



muito obrigado!
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Re: Erro C213 no Keil! ajuda!

Mensagempor andre_luis » 27 Jun 2007 16:54

Eu acho que tem os seguintes problemas :

1o) tá faltando void no prototipo de espera;
2o) tá sobrando void na declaracao do main;
3o) tá faltando void na implementacao do espera.

Além disso, eu colocaria a implementacao de espera, entre o protótipo e o main


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor Viktor » 27 Jun 2007 18:54

Está faltando # antes de include
Viktor
Byte
 
Mensagens: 281
Registrado em: 12 Out 2006 11:33

Mensagempor B-EAGLE » 28 Jun 2007 01:18

Viktor escreveu:Está faltando # antes de include


desculpe Viktor, foi falha minha isso na hora de colocar o codigo aqui, ele na verdade está com o #...

Assim, se eu tiro a linha:

Código: Selecionar todos
SPIF_ = 1;


funciona perfeitamente, eu acho que oque não pode ser feito é setar esse bit, pois ele é colocado em 0 ou em 1 somente por hardware...


valeu gente!
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor barboza » 28 Jun 2007 15:39

Talvez porque seu codigo não termina com um loop infinito.

Coloque um while(1); após a chamada de espera();
Os homens mentiriam muito menos se as mulheres fizessem menos perguntas.
Avatar do usuário
barboza
Word
 
Mensagens: 948
Registrado em: 17 Out 2006 13:42
Localização: Longe de onde gostaria de estar

Mensagempor B-EAGLE » 28 Jun 2007 17:34

barboza escreveu:Talvez porque seu codigo não termina com um loop infinito.

Coloque um while(1); após a chamada de espera();


Deu o mesmo erro colocando o while(1); barboza...

deve ser por causa do controle pelo hardware mesmo...

valeu barboza!
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS


Voltar para 8051

Quem está online

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

x