Hallo

Bei mir hat sich folgendes Problem herausgestellt.
Mein Mega32 lässt sich zwar problemlos flashen und auch die Fuse-/und Lockbits lassen sich konfigurieren aber der AVR führt meinen Code nicht richtig aus oder der Code ist falsch. Sicher kann ich es nicht sagen.

Wenn ich folgenden Code aufspiele


Code:
$regfile = "m32def.dat"                                     'ATmega32
$crystal = 11059200                                         'Quarz: 11059200 Hz

Ddrc = &B00000000                                           'IRs als Eingänge
Ddra = &B00010000                                           'PIN PA4 Ausgang

Do

   If Pinc.2 = 1 Then                                       'SHARP

     Porta.4 = 1
     Waitms 6000
   End If

Loop
End
Dann sollte doch der Pin A4 auf High gehen sobald er vom SHARP am Pin C2 ein High-Signal bekommt. Das High-Signal bekommt er auch, aber der Pin A4 bleibt immer auf Low.

Nun geht die Sache noch weiter...ich habe den Code weiterv vereinfacht und mir folgendes angesehen

Code:
$regfile = "m32def.dat"                                     'ATmega32
$crystal = 11059200                                         'Quarz: 11059200 Hz

Ddrc = &B10000000                                           
Portc = &B11111111

Do
Loop
End
Nach diesem Code her sollte doch NUR PC7 auf High sein?
Als ich es nachgemessen habe fiel mir aber auf, dass es PC6 auch ist.
PC7 ist sauber mit 5,0V auf High gesetzt. PC6 sollte auf null sein, bei ihm sind aber ca. 4,78V zu messen.

Was liegt hier genau vor?
Ich konnte den AVR bis jetzt wie in Code 1 zu sehen noch nicht überreden überhaupts eine Bedingung auszuführen und nichtmal schlichte Anweisungen führt er korrekt aus.