Hallo und Dank für die bisherigen Antworten.
Eigentlich möchte ich die Daten eines externen Gerätes in den ATmega8 einlesen. Dies gelingt mir aber nicht. Deshalb habe ich eine Ersatzschaltung aufgebaut, um den Fehler zu finden. Die Schaltung ist auf das Wesentlichste konzentriert. Dies ist das Signal für die Daten und das externe Taktsignal.
Wenn ich den Befehl SHIFTIN richtig verstehe, so kann ich auf eine negative Flanke des Taktsignales (H/L, Option 4 oder 6 ) als auch auf eine positive Flanke (L/H, Option 5 oder 7 ) das DatenBit übernehmen. Es funktioniert ja auch bei der positiven Flanke (L/H) mit meiner Testschaltung. Ich verstehe den Befehl SHIFTIN und seine Optionen so, daß in dem Bruchteil der MilliSekunde, indem der Pegel des Taktsignales von H nach L geht, das anliegende DatenBit auf H oder L abgetastet wird und übernommen wird.
Prellen oder ähnliche ungereimtheiten kann ich ausschließen, da nach 5
Taktsignalen (durch Hand) der Befehl SHIFTIN ausgeführt wird. Ich habe einen 5-Bit-Code eingestellt und nach 5 Taktsignalen (von Hand durch Unterbrechung einer Lichtschranke) erhalte ich das Resultat über RS232 auf dem PC. Prellen absolut nein !
Es dürfte bei dem Befehl SHIFTIN keine Rolle spielen, ob die Daten von einem Menschen manuell eingegeben werden oder von einem externen Bauteil kommen. Wichtig ist das Anliegen des DatenBits zum Zeitpunkt des Taktsignales.
MagLuh
Lesezeichen