Guten Tag, Ich habe mich eben daran gemacht ein Programm zu programmieren aber erstmal die Taster zu testen, allerdings habe ich das Problem das er ein anderes Lauflicht bei Taster RA1 laufen lässt als er eigentlich sollte. Undzwar lässt er das Lauflicht für den Taster RA2 laufen aber wenn ich RA1 gedrückt halte macht er es korrekt. Das Problem ist aber das es bei RA3 RA4 RA5 genau so ist obwohl die noch gar nicht programmiert sind (mal machen die nichts und manchmal führen die Taster das Lauflicht von RA2 aus) Habe bereits alles probiert aber komme nicht darauf woran es liegen könnte. Hat irgendjemand eine Idee woran es liegen kann? Mit freundlichen Grüßen, Heinrich
Heinrich A. schrieb: > Hat irgendjemand eine Idee woran es liegen kann? ...schaue dir mal die Zeile 42 in deinem Programm an, da ist der Fehler!
Heinrich A. schrieb: > Hat irgendjemand eine Idee woran es liegen kann? Wir nicht, denn dazu müssten wir Schaltung und Programm kennen.
Ohne Schaltplan und Quelltext wird es schwer, irgendwelche Angaben zu machen.
Dein Text ist sehr schwer zu lesen und zu verstehen. Zudem fehlt dein Programm und ein Schaltplan. Wie sollen wir das kennen? Wahrsagen?
Der reagiert nicht falsch, der macht exakt das was du ihm gesagt hast ;-) D.h. du hast ihm blödsinn erzählt ;-) Schaltplan, Bild vom Aufbau und Quellcode. Dann findet sich hier sicher jemand der dir hilfreiche Tipps zum weiteren Vorgehen gibt.
Heinrich A. schrieb: > Ich habe mich eben daran gemacht ein Programm zu programmieren Ist das sowas ähnliches wie eine Rede reden oder eine Frage fragen?
Hier ist der Quellcode, Den Schaltplan für den Mikrocontroller habe ich leider nicht aber daran sollte es nicht liegen, da es bei allen Mikrocontroller war die ich getestet habe (5Stück) ebenfalls ist es nur bei RA2 so also RA3 und RA1 klappen ganz normal und es sind nur die Taster neben RA2 also wenn ich RA1 und RA3 drücke führt er das falsche aus. Zusätzlich habe ich schon den interrupt Befehl etc. rausgeholt und probiert aber immer das selbe Problem
Is doch ganz klar. Der Mikrocontroller kann mit Quelltext im PNG-Format einfach nix anfangen. #Anfängerfehler
Nachdenklicher schrieb: > Is doch ganz klar. Der Mikrocontroller kann mit Quelltext im > PNG-Format > einfach nix anfangen. #Anfängerfehler und wie soll ich sonst den Quelltext hier hochladen? Bin tatsächlich noch ein Anfänger :)
Nohmal ganz genau überlegen was == macht, wo man das will und wo man das nicht will.
NB: Kann es sein, das hier drei Leute gleichzeitig an einem LED-Cube mit PIC, Schieberegister, Tastern und Ebenen rumbasteln, aber alle aneinander vorbeireden? Oder hat da jemand Trollaccounts?
Jens M. schrieb: > Kann es sein, das hier drei Leute gleichzeitig an einem LED-Cube mit > PIC, Schieberegister, Tastern und Ebenen rumbasteln, aber alle > aneinander vorbeireden? Gut möglich das es der erste Fall ist, allerdings habe ich die anderen beiden schon gefragt und die haben auch keinen Plan.
Beitrag #5725483 wurde von einem Moderator gelöscht.
Beitrag #5725484 wurde von einem Moderator gelöscht.
Jens M. schrieb: > Nohmal ganz genau überlegen was == macht, wo man das will und wo man das > nicht will. == war eine Überprüfung oder? d.h. wenn der Taster 1 ist soll er das durchführen habe dann womöglich meinen Fehler gefunden. Er ist wahrscheinlich im interrupt oder?
Die Datei: Rumpf_main.c hätte vollkommen gereicht, also nur Dateien die du selbst schreibst, sprich die mit *.c oder *.h Dateiendung.
Adam P. schrieb: > Die Datei: > > Rumpf_main.c > > hätte vollkommen gereicht, also nur Dateien die du selbst schreibst, > sprich die mit *.c oder *.h Dateiendung. Weiß ich fürs nächste mal Bescheid, danke
Ich werde dann einen komplett neuen Beitrag aufmachen wo ich es direkt und genau erkläre mit dem zugehörigen Code etc.
Heinrich A. schrieb: > Gut möglich das es der erste Fall ist, allerdings habe ich die anderen > beiden schon gefragt und die haben auch keinen Plan. Auch den einen von den beiden, der die gleiche Email-Adresse verwendet wie Du? Wir mögen solche "multiplen Persönlichkeiten" hier nicht.
Guten Tag, dies ist nun der zweite Beitrag da der erste einige Mangel hatte. Nämlich ist mein Problem, dass wenn ich den Taster_1 drücke er auch seinen eigenen Befehl ausführt, allerdings führt er auch manchmal den Befehl von Taster_2 aus was er eigentlich gar nicht soll. Das selbe Problem mit Taster_3, da er noch nicht konfiguriert ist bzw. keine Zuweisung hat macht er manchmal gar nichts aber manchmal führt er auch das Lauflicht von Taster_2 aus. Habe es bereits mit 5 Mikrocontrollern versucht also bezweifel ich das es an der Hardware liegt sondern eher am Quellcode. Habe ebenfalls versucht die interrupt-Befehle und sonst alles unnötige rauszuholen allerdings habe ich immer das selbe Problem. Wenn ich den Taster_2 nicht konfiguriere klappt alles einwandfrei, das einzige Problem ist das ich alle 6 Taster benötige und ihn somit nicht auslassen kann. Ich bedanke mich schonmal für eure Hilfe Schönen Tag noch
Rufus Τ. F. schrieb: > Heinrich A. schrieb: >> Gut möglich das es der erste Fall ist, allerdings habe ich die anderen >> beiden schon gefragt und die haben auch keinen Plan. > > Auch den einen von den beiden, der die gleiche Email-Adresse verwendet > wie Du? > > Wir mögen solche "multiplen Persönlichkeiten" hier nicht. Ich benutze seine E-Mail Adresse da er sich schon registriert hat. Um genau zu sein sitze ich gerade an seinem Schul-Pc.
Heinrich A. schrieb: > Hier ist der Quellcode Hast du den mit Paint gemalt? Ich hätte da gerne mal was geändert, aber ich tu mir da mit Copy&Paste so schwer. Heinrich A. schrieb: > und die haben auch keinen Plan. Warum diskutiert ihr nicht einfach mal einen der anderen 9999 4x4x4-Cubes mal durch. So lange, bis ihr das verstanden habt? Der sieht recht simpel aus: https://www.instructables.com/id/LED-Cube-4x4x4/ Und der ist sogar für einen PIC: https://electronza.com/4x4x4-led-cube-pic16f18877/ Jens M. schrieb: > Kann es sein, das hier drei Leute gleichzeitig So lange die Regel "1 Name pro Thread" eingehalten wird, gibts daran eigentlich nichts auszusetzen... ;-)
Lothar M. schrieb: > Und der ist sogar für einen PIC: > https://electronza.com/4x4x4-led-cube-pic16f18877/ Werde es mir nach der Pause mal gleich anschauen, danke
Tipp: Alle 64 LED-Hilfsfunktionen hätten in eine Funktion mit ein paar Zeilen und zwei, drei Parametern gepasst. Ein bisschen Abstraktion ist manchmal nicht schlecht und trägt der Übersichtlichkeit bei.
Tipp: Alle 64 LED-Hilfsfunktionen hätten in eine Funktion mit ein paar Zeilen und zwei, drei Parametern gepasst. Ein bisschen Abstraktion ist manchmal nicht schlecht und trägt der Übersichtlichkeit bei.
Meine Güte, 64 nahezu identische Methoden... Eine Methode mit einem simplen int parameter hätte gereicht.
Sebastian R. schrieb: > Tipp: Alle 64 LED-Hilfsfunktionen hätten in eine Funktion mit ein > paar Zeilen und zwei, drei Parametern gepasst. Ein bisschen Abstraktion > ist manchmal nicht schlecht und trägt der Übersichtlichkeit bei. Und wie genau? Kenne mich noch nicht so gut damit aus in der Schule haben wir immer nur Lauflichter gemacht was nicht sonderlich schwer war. Und habe auch erstmal einen Tag dafür gebraucht und bin eigentlich relativ zufrieden falls es klappen sollte. Du solltest aber nicht vergessen das du auch mal ein Anfänger warst :)
In deinem "Interrupt" kannst du "Taster_X" nicht auf 0 setzen, das ist ein PortPin und da kann man nur was lesen. Lese mal die Doku von PIC.
ABER...die LED-Funktionen werden doch nirgends aufgerufen ?! :-/ Oder sehe ich den Wald vor lauter Bäumen nicht?
Adam P. schrieb: > Oder sehe ich den Wald vor lauter Bäumen nicht? ... und den Thread vor lauter Threads nicht. Würde nicht ein Thread für das Thema ausreichen?
Adam P. schrieb: > ABER...die LED-Funktionen werden doch nirgends aufgerufen ?! :-/ > > Oder sehe ich den Wald vor lauter Bäumen nicht? Die sind noch gar nicht drin habe die nur Schonmal gemacht um mir später die Zeit zu sparen. Haben immerhin nur zwei Wochen Zeit und deswegen habe ich die schon vorgemacht Markus M. schrieb: > In deinem "Interrupt" kannst du "Taster_X" nicht auf 0 setzen, das > ist ein PortPin und da kann man nur was lesen. > > Lese mal die Doku von PIC. Hmm lese es mi gleich nach der Pause durch, hatte das jetzt gemacht weil es der Lehrer zu mir meinte das ich so die Taster unterbrechen soll bzw die unendlich Schleife hat aber nicht ganz so geklappt jemand schrieb: > Meine Güte, 64 nahezu identische Methoden... Eine Methode mit > einem simplen int parameter hätte gereicht. Weiß leider nicht was genau du meinst bin noch kein experte in dem Gebiet
Nja, aber ich hatte als Anfänger nicht wirklich Zugang zum Internet und damit zum vollständigen Wissen der Menschheit (plus ein bisschen Koitalentertainment und Katzenbilder). Und ich bin mir auch ziemlich sicher, dass ich in der (Berufs-)Schule etwas mehr als Lauflichter hatte, bevor es ein Abschlussprojekt gegeben hätte, welches es nicht gab. Funktionen, Parameter und Rückgabewerte gehören eigentlich zum Grundverständnis der Programmierung in C. Wenn ihr das nicht gelehrt bekommen habt, bevor ihr die Freigabe für so ein ambitioniertes Projekt bekommen habt, dann solltet ihr euch mal bei eurem Lehrer beschweren. Ansonsten: Google. C Funktionen.
A. K. schrieb: > Würde nicht ein Thread für das Thema ausreichen? Denn hab ich ja auch überflogen... Aber ich sehe nur, dass die PORTs auf verschiedene Werte gesetzt werden, weder ein Aufruf von Lauflicht() nocht von Led_x_y(). Was soll der Sinn der Taster-Funktionen sein - ergibt kein Sinn, da Eingang, wie Markus M. bereits sagte - du willst eher den Status der Taster zurücksetzen, dafür benötigst du jedoch Flag-Variablen. Aber ich tu mich grad schwer zu erkennen, wie der Code ein Lauflicht produziert. -> Von dem du am Anfang berichtet hast.
Sebastian R. schrieb: > Nja, aber ich hatte als Anfänger nicht wirklich Zugang zum > Internet und damit zum vollständigen Wissen der Menschheit (plus ein > bisschen Koitalentertainment und Katzenbilder). > > Und ich bin mir auch ziemlich sicher, dass ich in der (Berufs-)Schule > etwas mehr als Lauflichter hatte, bevor es ein Abschlussprojekt gegeben > hätte, welches es nicht gab. > > Funktionen, Parameter und Rückgabewerte gehören eigentlich zum > Grundverständnis der Programmierung in C. Wenn ihr das nicht gelehrt > bekommen habt, bevor ihr die Freigabe für so ein ambitioniertes Projekt > bekommen habt, dann solltet ihr euch mal bei eurem Lehrer beschweren. > > Ansonsten: Google. C Funktionen. Wir sind auch eigentlich keine AM-Klasse sondern eher eine IT-Klasse da ist es nur eins von vielen BU Fächern allerdings haben wir daran gefallen gefunden und wollten deshalb dies auch als Abschlussprojekt wählen Habe ich schon versucht das einzige Problem ist nur da sind meistens komplett andere Befehle die ich nutze z.b. Wird dort mit einem : der Befehl beendet statt mit einem Semikolon.
Adam P. schrieb: > A. K. schrieb: > Würde nicht ein Thread für das Thema ausreichen? > > Denn hab ich ja auch überflogen... > > Aber ich sehe nur, dass die PORTs auf verschiedene Werte gesetzt werden, > weder ein Aufruf von Lauflicht() nocht von Led_x_y(). > > Was soll der Sinn der Taster-Funktionen sein - ergibt kein Sinn, da > Eingang, wie Markus M. bereits sagte - du willst eher den Status der > Taster zurücksetzen, dafür benötigst du jedoch Flag-Variablen. > > Aber ich tu mich grad schwer zu erkennen, wie der Code ein Lauflicht > produziert. Okay flag-Variablen sind mir neu werde mal gleich dazu recherchieren. Wie gesagt habe die nur schonmal programmiert damit ich mir später wenn ich alles durch habe die Zeit spare, noch stehen die da einfach ohne einen Grund. Hast du auch vielleicht eine Antwort zu meinem eigentlichen Problem?
> Was soll der Sinn der Taster-Funktionen sein - ergibt kein Sinn, da > Eingang, wie Markus M. bereits sagte - du willst eher den Status der > Taster zurücksetzen, dafür benötigst du jedoch Flag-Variablen. > > Aber ich tu mich grad schwer zu erkennen, wie der Code ein Lauflicht > produziert. > > -> Von dem du am Anfang berichtet hast. Lauflicht ist vllt schlecht ausgedrückt sind einfach nur paar LED‘s die bei Taster_X angehen wollen da ich noch Raumprobleme wie ich ein Befehl in die Endlosschleife legen kann aber dann trotzdem auf einen anderen Taster zugreifen zu können bzw das der dann die eine unendlich-Schleife unterbricht und eine neue beginnt. Das bekomme ich aber gerade ebenfalls nicht hin
Heinrich A. schrieb: > die > bei Taster_X angehen WO sind die Taster angeschlossen? Wo ist das Schaltbild?
Erich schrieb: > WO sind die Taster angeschlossen? > Wo ist das Schaltbild? Einen Schaltplan habe ich leider nicht. Die Taster und LED`S sind alle auf der selben Platine angeschlossen wie der Controller
Heinrich A. schrieb: > Einen Schaltplan habe ich leider nicht. Die Taster und LED`S sind alle > auf der selben Platine angeschlossen wie der Controller So kann dir kein Mensch hier helfen! Es geht uns nicht um das WO die Taster angeschlossen sind sondern um das WIE! Heinrich A. schrieb: > Das Problem ist aber das es bei > RA3 RA4 RA5 genau so ist obwohl die noch gar nicht programmiert sind Taster kann man nicht programmieren! Wenn für die Taster noch kein Code hinterlegt sein sollte, dann sind sie einfach nur falsch angeschlossen!
Beitrag #5725626 wurde von einem Moderator gelöscht.
(Beitrag neu erstellt, bzgl. doppeltem Dateianhang) Ich kann mir das nicht länger mit ansehen... HIER BITTE. Es gibt 1000 Möglichkeiten, aber hab versucht es so einfach wie möglich zu halten.
Adam P. schrieb: > (Beitrag neu erstellt, bzgl. doppeltem Dateianhang) > > Ich kann mir das nicht länger mit ansehen... > > HIER BITTE. > > Es gibt 1000 Möglichkeiten, aber hab versucht es so einfach wie möglich > zu halten. Danke dafür, kannst du mir noch vllt erklären was die zahlen bei dem #define darstellen soll? Habe das noch nicht so ganz verstanden. Bist aber der einzige der mir ernsthaft versucht hat zu helfen :) PS: Es heißt Logik, wie du mir hilfst, helfe ich dir :)
> Danke dafür, kannst du mir noch vllt erklären was die zahlen bei dem > #define darstellen soll? Habe das noch nicht so ganz verstanden. > > Bist aber der einzige der mir ernsthaft versucht hat zu helfen :) > > PS: Es heißt Logik, wie du mir hilfst, helfe ich dir :) Nevermind habe es verstanden danke (:
Ja ich hätte auch Bit-Shifting machen können, aber dann wäre es mit der switch bissel blöd. Die stellen die einzelnen Bits in der 8-Bit Variable dar.
Heinrich A. schrieb: > erklären was die zahlen bei dem #define darstellen soll? #define ist eine Compiler-direktive: wenn du schreibst #define Heinrich 100 wird der Präprozessor vor dem eigentlichen Compilieren des Quellcodes alle Vorkommen von "Heinrich" durch "100" ersetzen. https://de.wikibooks.org/wiki/C-Programmierung:_Pr%C3%A4prozessor
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.