Hallo Forum, bin nun etwas verwirrt. ich habe einen ATMega 32 Ich kann mein Programm übertragen, alles ohne Fehlermeldungen. Allerdings passiert nichts :-( programm passt zu 100% wenn ich den Controller in eine andere Platine stecke funktioniert alles soweit. an meinem Reset liegen "0V" an. passt das oder benötige ich dort eine "1"?
dAZU GUCKT MAN INS dATENBLATT http://ww1.microchip.com/downloads/en/devicedoc/doc2503.pdf UND FINDET RESET Reset Input. A low level on this pin for longer than the minimum pulse length will generate a reset, even if the clock is not running. The minimum pulse length is given in Table 15 on page 37. Shorter pulses are not guaranteed to generate a reset. Mit 0 bleibt der uC also im RESET stehen.
:
Bearbeitet durch User
Sven schrieb: > an meinem Reset liegen "0V" an. passt das oder benötige ich dort eine > "1"? Google mal bitte nach einem Pull-Up Wieeeederstand. ( ;-) ) Vielleicht bringst Du dann ein wenig Selbstinitiative ein, anstatt hier von Benutzern zu erwarten, dass sie Deinen Lehrer spielen. VG Jörg
Die Frage ist falsch, denn 0V ist 1. Du musst 0 anlegen, ist doch klar: "Reset active? False"
Jens M. schrieb: > Du musst 0 anlegen, ist doch klar: "Reset active? False" Hallo "kluchscheisser", die 0 als ASCCI 0 (0x30) oder binär 00?
Also nochmal ausführlich: (der Rest ist für Leien schwer veständlich) Der Reset wird aktiviert, wenn 0V am Pin anliegen, bei Vcc arbeitet der Kontroller normal. => Reset = Logisch 1 = 0V kein Reset = Logisch 0 = Vcc Dieses verhalten ist anders als normal und wird als Invertierter eingang Beszeichnet. (aus 0V wird Logisch 1 und umgekehrt) Diese Pins gibt es öfters bei Sonderfunktionen. Weiß auch nicht warum, ist halt so. ;-) Hoffe ich habe micht verständlich ausgedrückt, LG
Route 6. schrieb: > Hallo "kluchscheisser", die 0 als ASCCI 0 (0x30) oder binär 00? Ein Byte oder 2 Bits auf einen digitalen Eingang, lol. Eine 1 aktiviert den Eingang, eine 0 deaktiviert ihn, wie an jedem anderen digitalen Eingang auch. Dümmlicherweise ist das hier 1 entsprechend 0V (oder auch Low genannt) und 0 entsprechend VCC (oder High). Aber so grundsätzliche Sachen stehen im Datenblatt und einer Million Tutorials im Netz. Keine Ahnung warum man das nicht findet...
Route 6. schrieb: > Jens M. schrieb: >> Du musst 0 anlegen, ist doch klar: "Reset active? False" > > Hallo "kluchscheisser", die 0 als ASCCI 0 (0x30) oder binär 00? Dazu müsstest du erstmal erklären, wie du ein ASCII-Zeichen an einem Pin "anlegen" willst. ElektroHeini schrieb: > Dieses verhalten ist anders als normal und wird als Invertierter eingang > Beszeichnet. Das erkennt man übrigens auch an dem Strich über der Bezeichnung des Pins. Dieser Strich kennzeichnet in der binären Logik eine Invertierung. Es ist also eigentlich nicht der "RESET"-Pin, sondern der "nicht RESET"-Pin.
:
Bearbeitet durch User
Jens M. schrieb: > Eine 1 aktiviert den Eingang, eine 0 deaktiviert ihn was soll denn das heissen? eine 0 am Reset aktiviert den reset ja wohl, deswegen ist der ja auch negiert gekenzeichnet!
:
Bearbeitet durch User
Nope. 1 = aktiv = Reset. Das du nicht lesen kannst das der Eingang invertiert ist ist nicht meine Schuld. Es gibt einen Unterschied zwischen 1/0 und High/Low.
0V hält den jedenfalls dauerhaft im reset, egal was du glaubst zu wissen und das ist der Fehler beim TO Sven schrieb: > Allerdings passiert nichts :-( programm passt zu 100% wenn ich den > Controller in eine andere Platine stecke funktioniert alles soweit. > an meinem Reset liegen "0V" an. vielleicht lernst du erst mal lesen! 0V ist aktiv am reset, deine Spitzfindigkeiten helfen dir nicht.
Jens M. schrieb: > Nope. > 1 = aktiv = Reset. Das widerspricht dem Datenblatt. Aus der Anleitung, wie man Programmierung per SPI macht: Both the Flash and EEPROM memory arrays can be programmed using the serial SPI bus while R̅E̅S̅E̅T̅ is pulled to GND. […] 1. Power-up sequence: Apply power between VCC and GND while R̅E̅S̅E̅T̅ and SCK are set to “0”. […] 8. Power-off sequence (if needed): Set R̅E̅S̅E̅T̅ to “1”. Turn VCC power off. Die Zahlen stehen hier in Anführungszeichen, weil es in dem Kontext eigentlich gar kein 1 und 0 gibt. Der Pin kann low oder high sein. Low heißt Reset, high heißt kein Reset. Eine Interpretation des Reset als Zahl ist nur mäßig sinnvoll.
:
Bearbeitet durch User
Man kann auch alles zerreden. @Sven: Der Reset-Eingang ist negiert, deswegen ist er bei LOW pegel aktiv. Negierte Eingänge erkennst du in Datenblättern daran, daß ihr Name einen Überstrich hat, oder mit einem "/" beginnt oder mit einem kleinen "n" beginnt. Manchmal halten sich Chiphersteller nicht an diese Konverntion, deswegen rate ich dazu, auch den Beschreibungstext zu elsen.
Oder im Symbol ist ein Kringel vor dem Eingang. Ändert aber alles nichts dran, das ein Eingang seine Funktion ausübt, wenn er aktiv ist. Also logisch 1 hat. So wie jeder andere digitale Eingang auch. Was bei Kringel, Strich drüber, / oder n vor dem Namen bedeutet, das der Pin mit GND/0V/Masse/Minus/VEE/VSS verbunden werden muss, damit er logisch 1 wird und Reset damit aktiv ist. Denn das so gemalte Symbol bedeutet, das eine übliche nichtinvertierte 1 = High an diesem Pin die Funktion nicht ausübt, daher auch das kleine n vor Reset: nReset heißt NotReset. Also High = Not Reset. Entsprechendes gilt für die anderen Darstellungsweisen. Alles voller Profis hier....
Jens M. schrieb: > Was bei Kringel, Strich drüber, / oder n vor dem Namen bedeutet, das der > Pin mit GND/0V/Masse/Minus/VEE/VSS verbunden werden muss, damit er > logisch 1 wird und Reset damit aktiv ist. und das schrieb der TO: (für Leseschwache) Sven schrieb: > an meinem Reset liegen "0V" an was du da interpretierst weisst nur du!
Jens M. schrieb: > Also logisch 1 hat. So wie jeder andere digitale > Eingang auch. Du verwechselst "wahr" oder "true" mit "1". Es gibt keine logische "1". Es gibt nur "true" oder "false". Also Aussage ist wahr oder falsch. Erst in der boolschen Algebra wird dann "wahr" durch eine "1" und "false" durch eine "0" repräsentiert. Jens M. schrieb: > Alles voller Profis hier.... Diese Aussage ist "falsch". Sie kann nur falsch sein. Denn: Die Aussage "Jens M. ist in diesen Forum" ist wahr. Die Aussage "Jens M.s Beitrag war inhaltlich korrekt" ist falsch. Mit der Bedingung, dass Profis KORREKTE Aussagen machen gilt: Jens M. ist kein Profi. Wenn nun Aber Jens M. kein Profi ist UND in diesem Forum ist, dann ist die Aussage "Alles voller Profis hier" falsch. Diesen logischen Zusammenhang darfst jetzt gerne in Boolscher Algebra darstellen. Denn erst dann kommen die "1" und "0" ins Spiel! scnr
TO schrieb Sven schrieb: > an meinem Reset liegen "0V" an. passt das oder benötige ich dort eine > "1"? 0V ist Low. 1 ist true. Beides bedeutet an einem Pin mit invertierter Logik, das er aktiv ist. Nicht Spannungspegel und Logikpegel vermischen. Es würde somit genau gar keine Änderung eintreten, wenn man den Low-Aktiven Eingang der mit 0V verbunden ist mit einer logischen 1 beschaltet. Den Unterschied in der Booleschen Algebra mit dem 0/1 und True/False musst du mir mal erklären bitte. Das eine ist zum rechnen, das andere zum schreiben, z.B. in Programmen. Ansonsten aber Bedeutungsgleich, da auf binäre Werte bezogen. Low/High dagegen bezieht sich auf Spannungspegel. Die an invertierten Aus- und Eingängen eben nicht mehr die 0=Low-Beziehung haben. Kuckstu Flipflop: Q und /Q. Wenn /Q nicht "nicht Q" durch H anzeigt, warum heißt es dann nicht z.B. P?
Jens M. schrieb: > Nicht Spannungspegel und Logikpegel vermischen. > Es würde somit genau gar keine Änderung eintreten, wenn man den > Low-Aktiven Eingang der mit 0V verbunden ist mit einer logischen 1 > beschaltet. Nicht Spannungspegel und negative Logik vermischen.
ElektroHeini schrieb: > Also nochmal ausführlich: (der Rest ist für Leien schwer veständlich) > > Der Reset wird aktiviert, wenn 0V am Pin anliegen, bei Vcc arbeitet der > Kontroller normal. > > => > Reset = Logisch 1 = 0V > kein Reset = Logisch 0 = Vcc > > Dieses verhalten ist anders als normal und wird als Invertierter eingang > Beszeichnet. (aus 0V wird Logisch 1 und umgekehrt) > > Diese Pins gibt es öfters bei Sonderfunktionen. Weiß auch nicht warum, > ist halt so. ;-) > > LG Weil 0V immer definiert ist, während VCC gerade beim Einschalten irgendwas zwischen 0V und 5,5V sein kann. Somit werden 0V den low aktiven Reset immer sicher aktivieren, während ein high aktiver Reset immer relativ zur anliegenden Versorgungsspannung gesehen werden müsste. Gruß Axel
Axel L. schrieb: >> Diese Pins gibt es öfters bei Sonderfunktionen. Weiß auch nicht warum, >> ist halt so. ;-) > > Weil 0V immer definiert ist, während VCC gerade beim Einschalten > irgendwas zwischen 0V und 5,5V sein kann. > > Somit werden 0V den low aktiven Reset immer sicher aktivieren, während > ein high aktiver Reset immer relativ zur anliegenden Versorgungsspannung > gesehen werden müsste. Beim AVR könnte es vielleicht auch was damit zu tun haben, dass dieser Pin auch elektrisch speziell ist, da er noch eine dritte Option kennt: +12V für High-Voltage-Programming. Das ist der einzige Pin, bei dem es erlaubt ist, mehr als Vcc+0,5V anzulegen. Warum hier so viel auf 0 und 1 rumgeritten wird, ist mir nicht klar. Es ist doch ganz einfach: Low-Pegel heißt, dass der µC im Reset-Zustand ist, high-Pegel heißt, dass er es nicht ist. Ob man diese Zustände jetzt zusätzlich 1 und 0, wahr und falsch oder Asterix und Obelix (*) nennen will, spielt dafür gar keine Rolle. Allerdings wäre ich schon neugierig, wie die Diskutanten wohl den dritten Zustand nennen. *) ich musste grad amüsiert feststellen, dass meine Rechtschreibprüfung zwar Asterix kennt, nicht aber Obelix.
Rolf M. schrieb: > Die Zahlen stehen hier in Anführungszeichen, weil es in dem Kontext > eigentlich gar kein 1 und 0 gibt. Völlig richtig. Deswegen vermeiden die Datenblätter der meisten Digitalbausteine diese Bezeichnungen und verwenden stattdessen H und L. Zu numerischen Werten werden die Spannungspegel erst dann, wenn sie in einem der I/O-Register des Mikrocontrollers ankommen und damit für Rechenoperationen wie z.B. Addition oder Subtraktion verfügbar werden. Das geschieht beim Reset-Eingang aber nicht, es sei denn, man konfiguriert ihn (wie bei vielen AVRs möglich) als digitalen I/O-Pin. In diesem Fall entspricht ganz klar low der 0 und high der 1. Jens M. schrieb: > 1 = aktiv = Reset. Wenn man die Aktivität unbedingt mit Zahlenwerten beschreiben muss oder will, ist auch das richtig. Aus RESET = 1 (1) folgt R̅E̅S̅E̅T̅ = 0 (2) Da der Eingang nicht RESET, sondern R̅E̅S̅E̅T̅ heißt, muss gemäß Gleichung 2 zur Auslösung eines Resets eine 0 hineingeschickt werden. Durch die (reale oder virtuelle) Invertierung im Inneren des AVR wird daraus eine 1 (= aktiv, Gleichung 1). Entsprechend muss am Eingang im normalen Betrieb eine 1 anliegen, damit der interne Reset 0 (= inaktiv) wird und die CPU des Mikrocontrollers losmarschieren kann. Ich bin mir aber sicher, dass dir das alles völlig klar ist und du lediglich die falschen Schlüsse daraus gezogen hast.
:
Bearbeitet durch Moderator
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.