C Syntax Fehler :syntax error near/undefined identifier

OP #1782995
Lesenswert?

Hi!
Ich kriege diese 2 Fehlermeldungen. Es ist primitiv aber verstehe ich 
nicht warum ist hier ein Fehler aufgetretten.

C51 COMPILER V8.18 - SN: Eval Version
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2009
*** ERROR C141 IN LINE 155 OF USB I2C T5300 MAIN.C: syntax error near 
'unsigned'
*** ERROR C202 IN LINE 155 OF USB I2C T5300 MAIN.C: 'i': undefined 
identifier
*** ERROR C202 IN LINE 156 OF USB I2C T5300 MAIN.C: 'i': undefined 
identifier
*** ERROR C202 IN LINE 160 OF USB I2C T5300 MAIN.C: 'i': undefined 
identifier
*** ERROR C141 IN LINE 193 OF USB I2C T5300 MAIN.C: syntax error near 
'unsigned'
*** ERROR C202 IN LINE 193 OF USB I2C T5300 MAIN.C: 'data_in': undefined 
identifier
*** ERROR C202 IN LINE 212 OF USB I2C T5300 MAIN.C: 'data_in': undefined 
identifier
*** ERROR C202 IN LINE 214 OF USB I2C T5300 MAIN.C: 'data_in': undefined 
identifier
*** ERROR C141 IN LINE 216 OF USB I2C T5300 MAIN.C: syntax error near 
'data_in'
*** ERROR C141 IN LINE 463 OF USB I2C T5300 MAIN.C: syntax error near 
'}'

C51 COMPILATION COMPLETE.  0 WARNING(S),  10 ERROR(S)


Das ist der Code. Das Fehler wiederholt sich 2 mal für jede for Schleife 
mit dem Laufvariable i und data_in
8 bit µC _8051F320
while(!SDA)
   {
      // Provide clock pulses to allow the slave to advance out
      // of its current state. This will allow it to release SDA.
      XBR1 = 0x40;                     // Enable Crossbar
      SCL = 0;                        // Drive the clock low
      unsigned char i;
      for(i = 0; i < 255; i++);        // Hold the clock low
      SCL = 1;                         // Release the clock
      while(!SCL);                     // Wait for open-drain
                                       // clock output to rise
      for(i = 0; i < 10; i++);         // Hold the clock high
      XBR1 = 0x00;                     // Disable Crossbar
   }

Danke für die Hilfe
MFG
Soo
OP #1783041
Lesenswert?

Hi,
Danke für die Hilfe!
Es hat geklappt! Der Kompiler kompliert das Code problemlos.
Ich muss jetzt schauen ob es die gezielte Funktion erreicht wird und 
zwar
Sensordaten durch die I2C Schnittstelle der µC die Daten lesen und diese 
Daten müssen dann im µC 8051F320 verarbeitet werden und dann via USB an 
PC schicken.

Mit der USB zu PC Geschichte weiß ich bis jetzt nicht viel.
Wenn jemand von Euch schon Erfahrung mit solcher Aufgabe, bitte um 
Hilfe.

MfG
Soo
Gast #1783123
Lesenswert?

dieter schrieb:
> Rufus t. Firefly schrieb:
>> In C dürfen Variablen nur zu Beginn eines Blocks definiert werden.
>
> seit wann denn das?

Falsche Frage. Es hätte heißen müssen: "bis wann denn das?"
Darauf wäre die Antwort: Bis 1999, als C99 seinen Vorgänger offiziell 
ersetzt hat. Leider hat es in den 11 Jahren immer noch nicht jeder 
Compiler geschafft, das auch umzusetzen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren