Hallo Leute, ne kleine Frage am späten Abend: kann man mit Ausgängen von ATmega/ATtiny Frequenzen von 20KHz erreichen, und die Flanken noch "schön steil" sind. Hab leider kein Oszi da, sonst würd ich es einfach anschauen danke schonmal, und gut Nacht :-) Gruß Stefan
20 kHz sind ein Witz, 2 MHz gehen mindestens stabil für SPI (selbst getestet), wahrscheinlich noch viel mehr.
Stefan schrieb: > kann man mit Ausgängen von ATmega/ATtiny Frequenzen von 20KHz erreichen, > und die Flanken noch "schön steil" sind. Was meinst du, was der Prozessor tut, wenn man ihn in zwei direkt aufeinanderfolgenden Assemblerbefehlen den Portzustand ändern läßt? Manchmal (eigentlich ziemlich oft) frage ich mich, wozu die Hersteller sich die Mühe mit den Datenblättern machen und warum jeder für eine längere Zeit zur Teilnahme am Schulunterricht verpflichtet ist. Damit sollte es doch kein Problem sein, sich im Datenblatt die Spezifikation für die Flankensteilheit eines Ausgangssignals herauszusuchen. Beim ATmega8 ist bei den SPI Timing Characteristics z.B. für die Rise/Fall time ein typischer Wert von 10ns angegeben.
W.A. schrieb: > Manchmal (eigentlich ziemlich oft) frage ich mich, wozu die Hersteller > sich die Mühe mit den Datenblättern machen Wie du an der Uhrzeit siehst war es recht spät, ich sau müde, und hatte einfach keine lust mehr mich durchs Datenblatt zu wühlen. Und da es bestimmt ne menge Leute gibt, die dass wissen, und mit nem Einzeiler beantworten können, hab ich einfach mal gefragt und bin in die Haia gegangen. Verzeihung das ich ein paar Bits und Bytes und 2 Minuten deines Lebens verschwendet habe. W.A. schrieb: > und warum jeder für eine > längere Zeit zur Teilnahme am Schulunterricht verpflichtet ist Beruhig dich, ich wollte nur Zeit sparen, oder glaubst du ich bastl freiwillig um die Uhrzeit mit Elektronik rum? Troztdem Danke für die Antworten Gruß Stefan
Und sorry für die Rechtschreibfehler, hab sie grad erst gesehen ;-)
Du kannst Ausgänge so schnell umschalten, wie es der Befehlssatz zulässt. Wenn Du einen Ausgang umschaltest, und direkt danach an einem Eingang etwas einlesen willst, was von dem Ausgang abhängt, musst Du allerdings eine Verzögerung berücksichtigen. Bei AVR Mikrocontrollern liefern Lese-Befehle auf Eingänge immer den Wert, der einen Taktzyklus vorher anlage. Und bei Ausgaben gab es auch eine kleine Verzögerung, soweit ich mich erinnere. Zwischen dem Schreiben und Lesen der Antwort ist daher in der Regel ein NOP nötig. Oder einfach zwimal hintereinander lesen tuts auch. Angenommen die acht Bits von Port A (Ausgang) sind mit Port B (EIngang) verbunden: PORTA = 0; in=PORTB; in=PORTB; if (in!=0) printf("Fehler");
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.