Hi, bin neu hier und werde auch gleich mal einen account erstellen. Find das Forum echt super ;) Ich bin dabei mit einem ATMEGA8 einen Wecker aufzubauen und habe einen leichten Mangel an I/O-Pins. Jetzt ist meine Frage, ob ich zur Laufzeit (Trotz SPIEN Fuse) die SPI-Pins zu normalen Inputs umschalten und spaeter wieder zurueckschalten kann? Dann koennte ich diese alle 24Std als input fuer einen DCF77 empfaenger nutzen und sonst stuenden sie zum programmieren zur verfuegung... Vielen Dank schonmal, philipp
Suche mal nach Porterweiterung und / oder 74*595 , 164., 165 Wieso brauchst du soviele PINs für was ? LCD 4 Bit +2 = 6 Ltg paar tasten sagen wir mal 3-4 = 10 Ltg 2Pins für Quarz ein Pin für Summer 1Pin über 10k an Reset also da beleiben noch welche übrig ;) SPI ist ein Bus - du kannst dort also mehrere Porterweitung anschliesen.
Ja der Wecker ist eigtl. hardwaremaessig schon fertig. Bloss wollte ich noch DCF-Empfang hinzufuegen, weil er nicht so genau ist... Ich brauche soviele Pins, weil ich 7-Segment LED Anzeigen (gepulst) ohne controller o.ae. ansteuere und weil ich noch einen Sprachspeicherchip ansteuere, der verschiedene Wecknachrichten abspielt :) Aber meine Frage war, ob ich von der Software aus einfach die SPI pins umstellen kann (und anschliessend zurueck, sodass dann wieder ISP moeglich ist).
@ Philipp (Gast) >(Trotz SPIEN Fuse) die SPI-Pins zu normalen Inputs umschalten und >spaeter wieder zurueckschalten kann? Die Pins für ISP sind normal nutzbar. >Dann koennte ich diese alle 24Std als input fuer einen DCF77 empfaenger >nutzen und sonst stuenden sie zum programmieren zur verfuegung... Man muss nur aufpassen, dass währen der Programmierung nicht Ausgänge gegeneinander treiben. Also dein Ausgang von DCF77 Empfänger muss während der Programmierung deaktiviert oder getrennt werden. Das kann man z.B. mit einem 74HC126 machen, wobei das Steuerpin mit am Reset hängt. Meist reicht es aber auch, durch Längswiderstände den Ausgang zu entkoppleln. Also vom DCF77 Empfänger über 1..10 kOHm an den AVR zu gehen. MFG Falk
>>(Trotz SPIEN Fuse) die SPI-Pins zu normalen Inputs umschalten und >>spaeter wieder zurueckschalten kann? > > Die Pins für ISP sind normal nutzbar. Das waere natuerlich genial, aber das hatte ich einfach ausgeschlossen, weil woher soll der Chip denn sonst wissen, dass er jetzt programmiert werden soll, wenn die PINs als normale universell einsetzbare Ein- und Ausgaenge verwendet werden? Das versteh ich nicht ganz...
Hallo Philipp, lies mal im Datenblatt das Kapitel über ISP. Dort erfährst du auch, dass das RESET-Signal zum Aktivieren genutzt wird. Tschüss Torsten
Ich habe jetzt nocheinmal im Datenblatt gesucht aber nichts gefunden. Aber vielen Dank fuer die Hilfe, dann kann ich die Pins ja ganz normal ueber das DDRB Register als Input setzen und mit PINB auslesen.. ;)
Ich hol den uralten Beitrag mal wieder hervor, um nichts neues aufzumachen. Der TE wollte die SPI Pins ja wohl n´zum ISP-Programmieren nutzen, als auch als GPIOs. Meine Frage wäre ähnlich: Wenn ich meinen Atmega32 über SPI (USBTinyISP Programmer) programmiere, kann ich dann diese Pins auch als SPI Interface für Peripherie nutzen? Beispiel: Ich programmiere den uC auf einem seperaten Board. Anschließend setze ich meinen uC in einen neuen Schaltkreis. Kann das SPI Interface nun ohne einschränkungen genutz werden? Muss ich die entsprechende Fuse ändern? Einige Geräte bieten leider nur SPI an. Habe ich nun also die möglichkeit diese geräte zu betrieben, ohne größeren hardwareaufwand, timing-probleme beim proggen oder sonst was? Wie gesagt: wenn ich dne uC auf einem seperaten Board programmiere habe ich ja auch kein Problem mit möglichen treibenden Ausgängen der angeschlossenen peripherie. LG
Dell schrieb: > Ich hol den uralten Beitrag mal wieder hervor, um nichts neues > aufzumachen. Wäre aber angebrachter gewesen, denn es ist eben doch ein anderes Problem. Wenn du weitere Fragen hast, dann tu dies also bitte. > Kann das SPI Interface nun ohne einschränkungen genutz werden? Die Einschränkungen geben deine Peripheriegeräte ggf. vor: während des ISP floaten alle Pins des Controllers, damit auch alle die, die als /CS für die Peripherie genutzt werden. Die Peripherie könnte sich daher vom ISP „angesprochen“ fühlen, sofern man nicht deren /CS-Leitungen mit einem externen Pullup versieht. > Muss ich die entsprechende Fuse ändern? Welche? SPIEN? Keinesfalls! Danach würde ja kein ISP mehr funktionieren. (Die lässt sich übrigens über ISP nicht ändern.)
:
Bearbeitet durch Moderator
Dell schrieb: > Wenn ich meinen Atmega32 über SPI (USBTinyISP Programmer) programmiere, > kann ich dann diese Pins auch als SPI Interface für Peripherie nutzen? Ja. > Ich programmiere den uC auf einem seperaten Board. Anschließend setze > ich meinen uC in einen neuen Schaltkreis. Kann das SPI Interface nun > ohne einschränkungen genutz werden? Ja. > Muss ich die entsprechende Fuse ändern? Nein. Lies mal den Abschnitt "In System Programming" des Datenblatts. Dort steht, dass wenn der Reset aktiv ist, diese SPI-Pins zum Programmieren des uCs verwendet werden. Bei manchen Controllern sind es auch andere Pins... > Habe ich nun also die möglichkeit diese geräte zu betrieben, ohne > größeren hardwareaufwand, timing-probleme beim proggen oder sonst was? Wenn dein uC im Zielsystem ist, dann darf im Reset keine Komponente an den SPI-Pins herumzerren. Dann kannst du diese Pins für die IS-Programmierung verwenden. Aber wie schon gesagt: das steht alles in aller Ausführlichkeit im Datenblatt...
Dell schrieb: > Wenn ich meinen Atmega32 über SPI (USBTinyISP Programmer) programmiere, > kann ich dann diese Pins auch als SPI Interface für Peripherie nutzen? Ja, das ist möglich. Fuses müssen dazu keine umprogrammiert werden, d.h. du kannst den Controller extern programmieren und dann einfach in die Schaltung einsetzen.
Dell schrieb: > Wenn ich meinen Atmega32 über SPI (USBTinyISP Programmer) programmiere, > kann ich dann diese Pins auch als SPI Interface für Peripherie nutzen? Selbstverständlich. Solange sich die Peripherie weder vom ISP aus dem Tritt bringen lässt noch selbst aktiv an den Pins rumpfriemelt. Was dem TO gefehlt hat ... > ... weil woher soll der Chip denn sonst wissen, dass > er jetzt programmiert werden soll ... ... ist, dass der Programmer den µC mittels der RESET Leitung in einen Reset zwingt und nur dann ist das ISP aktiv.
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.