Autor
|
Thema: Taster als Schalter via AVR (Gelesen 152241 mal)
|
|
Reisi
Lötkolbenfreak

Karma: +2/-0
Offline
Beiträge: 190
|
Undzwar hab ich anstelle des 4,7kohm iwderstandes für den isp einen 47 n kerko bestellt... na ja ist natürlich ein bischen lahm gelaufen aber dann muss ich halt nochmal was bestellen... nimm statt dessen doch einfach zwei parallelgeschaltene Widerstände.
Währenddessen habe ich mit stukka auch über meine Problemlösung dikstuiert und wir haben quasi beschlossen und für gut befunden das meine vorgeschlagene lösung zwar nicht die eleganteste aber die einfachste lösung ist...
Was ist daran bitte einfacher? Im Vergleich zu einem einzelnen µC ist es nur mehr Aufwand (sowohl Hard- als auch Software) und bringt aber keinen weiteren Nutzen (zumindest seh ich keinen). Wenn schon unbedingt zwei µCs, warum dann nicht modular, z.B. einen für alle Eingänge, einen für alle Ausgänge und beide über ein einfaches Bussystem verbinden?
auch wenn diese 8bit übertragung jetzt nicht grade das ist, was ich mir vorgestellt hätte.. findet jemand auf anhieb an argument dagegen? ja mann muss ständig die I/Os zwischen Ein- und Ausgang umschalten, und es ist trotzdem nicht kurzschlusssicher.
|
|
|
Gespeichert
|
|
|
|
Fabeulous
Gast
|
lol also entweder habe ich euch falsch verstanden oder ihr mich ode rich hab end keine ahnung davon... also stukka du hast mir gesagt das wäre einfacher... zumindest habe ich es so verstanden...
also ich weis nicht wo es da kurzschlüsse geben sollte? es ist klar das man das noch ein bisschen mit dioden und dem ganzen kram absichern muss... aber ich finde es für mich viel aufwendiger wenn ich das mit so einer busverbindung oder so mache... ich kenne mich ja quasi noch garnicht damit aus... da wird es bestimmt nicht leicht am anfang direkt son mörderprogramm auf die beine zu stellen...
Also wenn ihr mir sagt das geht und es gibt dadruch keine großen nachteile dann würde ich das lieber so machen.. mir ist klar das das nicht die eleganteste möglichkeit ist aber ich denke in diesem bereich gibt es auch mehrere lösungswege wie in jedem bereich der programmierung, etc.... Wenn ich das so einigermaßen drauf habe kann man das ja noch verfeinern aber denkt bitte daran das ich quasi blutjunger anfänger bin und mir jedesmal wenn ihr mit nem fachwort rumspielt das erstmal angucken muss was ihr da übnerhaupt meint!  Trotzdem vielen dank für die vielen denkanstöße!
EDIT:
Währenddessen habe ich mit stukka auch über meine Problemlösung dikstuiert und wir haben quasi beschlossen und für gut befunden das meine vorgeschlagene lösung zwar nicht die eleganteste aber die einfachste lösung ist...
Was ist daran bitte einfacher? Im Vergleich zu einem einzelnen µC ist es nur mehr Aufwand (sowohl Hard- als auch Software) und bringt aber keinen weiteren Nutzen (zumindest seh ich keinen). Wenn schon unbedingt zwei µCs, warum dann nicht modular, z.B. einen für alle Eingänge, einen für alle Ausgänge und beide über ein einfaches Bussystem verbinden? Ich brauch doch sowieso zwei µC's weil ich nciht genug Pin's frei habe...?!
|
|
« Letzte Änderung: Juni 20, 2007, 21:08:52 von Fabeulous »
|
Gespeichert
|
|
|
|
|
Fabeulous
Gast
|
Ja gut stimmt möglich ist das aber dann müsste ich ja die Pins eines Ports unterschiedlich einstellen... also zwei als eingang und zwei als ausgang und das geht doch nicht oder? EDIT: Ach so und ich habe ja versucht mich in eagle einzuarbeiten... Das mit der bauteilbibliothek habe ich ja verstanden aber wo finde ich denn so standard bauteile wie widerstände, dioden,taster usw....?! Vielen dank für eure tipps und ratschläge!
|
|
« Letzte Änderung: Juni 20, 2007, 22:13:23 von Fabeulous »
|
Gespeichert
|
|
|
|
|
Fabeulous
Gast
|
Okay das mit dem DDR Register ist klar das macht man ja meines bescheidenen iwssens immer so... aber ich wusste nie ob man halt die pins an einem port unterschiedlich konfigurieren kann! Danke für die tipps!
EDIT: So ich habe mich jetzt nach langem hin und her dazu entschlossen das ganze doch mit nur einem µC zu machen. Das wird zwar programmiertechnisch etwas aufwendiger, aber ich habe ja ein paar kompetente Köpfe hier, die mir bestimmt helfen können!
|
|
« Letzte Änderung: Juni 22, 2007, 14:04:26 von Fabeulous »
|
Gespeichert
|
|
|
|
|
Fabeulous
Gast
|
Ja also ich habe mich ja jetzt entschlossen das mit einem µC zu machen.. Ich habe aber jetzt nur ein 8 MHZ Quarz ist das schlimm? oder geht das trotzdem noch?
Wie meinst du das genau mit dem 4 bit codiert? Wäre antürlich en feine Sache dann hat sich das problem mit den PORT's quasi auch gelöst!
Ach und ich hab beim suchen nur gefunden das man bei Ports die Pins einzeln schalten kann aber kann man auch die einzelnen Pins eines Ports unterschiedlich konfigurieren? Also das z.B. vom Port C die ersten Pins als eingänge und die Pins drei und vier als Ausgänge funktionieren?
Mit dem Schaltplan bin ich noch nicht so weit da ich mich im Moment noch in eagle einarbeiten muss aber wenn ich einen habe dann bekommt ihr ihn direkt zu sehen! 
Dafür ist der ISP fertig und auch recht platsparend in eine SUB-D Kappe verpackt! Fotos folgen wenn ich mal wieder zuhause bin!
|
|
|
Gespeichert
|
|
|
|
Reisi
Lötkolbenfreak

Karma: +2/-0
Offline
Beiträge: 190
|
natürlich geht das. Dafür gibts ja das DDR Register (DataDiRection)
DDR = Data Direktion Register Ehrlich gesagt hab ich mich mit den Abkürzungen noch nicht so genau auseinandergesetzt. Ich bin bis jetzt immer davon ausgegangen, dass das Wort Register nicht mit abgekürzt wird, da es ja sonst immer doppelt ist. Dem ist anscheinend doch nicht so.
Ja also ich habe mich ja jetzt entschlossen das mit einem µC zu machen.. Ich habe aber jetzt nur ein 8 MHZ Quarz ist das schlimm? oder geht das trotzdem noch? Ein Baudratequarz (da gibts mehrere, nicht nur 3,6864 MHz) wäre für den Fall zwar am besten, weil damit alle Baudraten exact eingestellt werden können, aber ein 8MHz Quarz geht auch, nur ist dann bei manchen Baudraten der Fehler zu groß. Aber mit 9600k gehts auf jeden Fall.
Ach und ich hab beim suchen nur gefunden das man bei Ports die Pins einzeln schalten kann aber kann man auch die einzelnen Pins eines Ports unterschiedlich konfigurieren? Also das z.B. vom Port C die ersten Pins als eingänge und die Pins drei und vier als Ausgänge funktionieren? Das geht ganz einfach, indem du die entprechenden Bits für die Ports die du als Eingang haben willst auf 0 setzt, und die die du als Ausgang haben willst als 1. Also wenn du z.B. 01010101 ins DDR schreibst, dann sind PORTX0,2,4 und 6 Ausgänge und PORTX1,3,5 und 7 Eingänge.
|
|
« Letzte Änderung: Juni 23, 2007, 19:06:35 von Reisi »
|
Gespeichert
|
|
|
|
Fabeulous
Gast
|
Okay so habe ich mir das quasi auch schon gedacht. Aber wass passiert denn dann wenn ich versehentlich versuche einen Ausgang zu setzen welcher eigentliche in Eingang ist?!
Okay das mit dem quarz ist fein. Ich denke ich werde da sowieso nicht groß mit den Übertragungsraten rumprobieren. Da muss ja eigentlich auch nicht viel übertragen werden, nur die Befehle zum schalten zum µC und der aktuelle Status des Ausgags zum PC!
|
|
|
Gespeichert
|
|
|
|
|
Fabeulous
Gast
|
Ach lol mit mit ein bischen nachdenken in einem wachereren Zustand hätte ich mir diese Frage auch sapren können! Trotzdem vielen Dank!
|
|
|
Gespeichert
|
|
|
|
|
Reisi
Lötkolbenfreak

Karma: +2/-0
Offline
Beiträge: 190
|
Die Pull Up Widerstände für die Taster kannst du dir wie schon gesagt sparen, da kannst genausogut die internen nehmen, vereinfacht das Layout etwas.
Was die drei Dioden und C4 für eine Funktion haben sollen ist mir allerdings ein Rätsel
EDIT: PS: Für den ISP Anschluss gibts eigentlich eine Standardbelegung, die ist auch in der überarbeiteten Atmel Bibliothek drinn (gibts bei Cadsoft unter den Downloads)
|
|
« Letzte Änderung: Juni 24, 2007, 10:07:56 von Reisi »
|
Gespeichert
|
|
|
|
|