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
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
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 :)
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.
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?
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
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... ;-)
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.
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 :)
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
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 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 (:
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