Guten Morgen zusammen,
Gestern habe ich versucht ein neues Projekt zu starten und habe auf
meine betsellte Platine eine F103 MCU verlötet. Programmieren ist kein
Problem, aber beim testen von den Ausgängen am PortB bin ich fast
verzweifelt. PB3 und PB4 funktionieren einfach nicht.
Direkt nach dem die MCU initialisert wurde hat das IDR Register des
Ports bereits das Bit 4 gesetzt. Selbst ein Initialiseren des gesamten
Ports als Input mit PullDown's ändert daran nichts.
Setzte ich in nächsten Schritt die Pins PB3, PB4 und PB5 als Push Pull
Ausgang und steuer sie durch wird im IDR Register Bit4 und Bit5 als High
Bit3 als Low angezeigt. Die LED's an PB3 und PB4 leuchten aber nicht.
Beim zurücknehmen der Ausgänge ist wieder nur das Bit 4 im IDR Register
gesetzt.
Um einen Controllerdefekt auszuschließen habe ich das selbe Programm
schnell auf ein kleines blaues Chinaboard geflasht. Dort habe ich exakt
das selbe Verhalten. Um zu testen das die Ausgänge wirklich nicht
durchschalten habe ich dann zusätzlich Brücken von PB3 auf PB6, PB4 auf
PB7 und PB5 auf PB8 gesteckt. Dit Bits von von diesen Pin's sind im IDR
Register danach 100% analog zu den drei anderen Bits.
Eine erste Suche im Errata Sheet war noch erfolglos, kennt jemand von
Euch dieses Problem oder kann mir den richtigen Tip geben um dem Problem
auf die Schliche zu kommen?
Getestet habe ich mit folgendem Code:
Markus S. schrieb:> Aargh, ich weiß nicht nach was ich alles gegoogelt habe
Ein Blick in das Datenblatt auf die Default-Pinbelegungen nach Reset
hätte es dir gezeigt.
Warum nur scheuen sich hier so viele Leute vor dem Lesen der
Dokumentationen?
W.S.
Hmm.. tja.
Irgendwie habe ich den Eindruck, daß gerade die nachwachsenden
Möchtegern-Mikrocontroller-Spezialisten einer fatalen
Schlaraffenland-Mentalität nachhängen.
Sie glauben, sowas wie Kunden zu sein, deswegen sehen sie es als ihr
verbrieftes Recht an, nix verstehen und nix selber können zu müssen und
dennoch mit selbstfliegenden gebratenen Tauben versorgt zu werden -
kostenlos selbstverständlich.
W.S.
Ich habe länger überlegt, ob ich zu euren Ausführungen Stellung beziehe,
oder ob ich es einfach darauf beruhen lasse. Es wird ja an genug Stellen
immer wieder darauf hingewiesen, dass es hier im Forum Normalität ist
mal schärfer angegangen zu werden. In gewissen Zügen kann ich das sogar
verstehen dass es oft nervt oder lästig ist eine Frage zu lesen oder zu
beantworten die für einen selber klar auf der Hand liegt und dadurch
auch schnell in den Dokumentationen gefunden werden kann. Da fragt man
sich schnell, warum das andere anscheinend nicht hinbekommen.
Jetzt kommt das aber. Ich denke es gibt hier viele Leute, die die ganze
Thematik als Hobby betreiben und es damit nicht hauptberuflich machen.
Von daher fehlen an der ein oder anderen Stelle einfach die Erfahrung
und vielleicht auch eine strukturiertere Vorgehensweise. Die Möglichkeit
dann hier im Forum nach einer Lösung oder einem Tipp zu fragen verleitet
dazu es dann eben schneller zu tun bevor man das 10 mal über die
Dokumentation schaut und einen weiteren Tag mit der Fehlersuche
verbringt, weil man sich verannt hat.
Ich bin auf jeden Fall froh, dass es hier eine Anlaufstelle gibt, bei
der man in der Regel eine Antwort auf seine Frage bekommt, sofern
erkennbar ist, dass man sich mit dem Problem schon irgendwie auseinander
gesetzt hat.
Mir liegt es fern, und das geht hier bestimmt noch vielen anderen, hier
als Kunde gesehen zu werden um Lösungen auf dem Silbertablett
einzuforden oder geliefert zu bekommen. Es sollte doch vielmehr der Weg
beschritten werden mit Tips und Hinweisen die Fragenden in die richtige
Richtung zu schicken. Und für die ganzen alten Hasen kann es ja auch
eine Bestätigung sein, Anfängern und Neulingen mit Tips den richtigen
Weg bei der Arbeit mit den Mikrocontrollern zu zeigen.
Ich kann mich nur nochmal bei Euch bedanken, für die wieder mal schnelle
Hilfe sowie den Hinweis über die Default Pin Belegungen. Nur durch
solche Aktionen können auch wir Hobbisten lernen und Erfahrungen sammeln
um in Zukunft besser an solche Probleme zu gehen und die Lösung dann
vielleicht selber zu finden.
Wünsche allen ein schönes Wochenende ...
PS: Für alle die auch auf das selbe Problem auflaufen hier einmal die
Lösung unter Nutzung der StdPeriphlib für das deaktivieren des JTAG
Ports.
Markus S. schrieb:> PS: Für alle die auch auf das selbe Problem auflaufen hier einmal die> Lösung unter Nutzung der StdPeriphlib
Ich bin gerade dabei, mich über dich zu ärgern.
Du hast mit dieser unsäglichen Obfuskations-Lib angefangen, hast dabei
eine Bauchlandung hingelegt, wurdest von Leuten, die es wirklich BESSER
wissen und können, eines Besseren belehrt - UND? ..und du hast
ersichtlichermaßen rein garnichts dazugelernt.
Es ist überhaupt nicht die Frage relevant, ob man nun Amateur ist oder
seine Brötchen damit verdienen muß. Es ist das Stück intellektuelle
Stufe, auf die man sich stellt. Wer einen Mikrocontroller anzuwenden
trachtet, ist kein Kunde, der sich ein neues Smartphone nebst Vertrag
zulegt, sondern man ist Teil eines Herstellungsprozesses und ist deshalb
gehalten, wenigstens ein wenig systematisch vorzugehen und über die
Sache, die man bearbeitet, Bescheid zu wissen.
Markus S. schrieb:> Gestern habe ich versucht ein neues Projekt zu starten und habe auf> meine betsellte Platine eine F103 MCU verlötet.
Ah ja! Und du hast dir offenbar zuvörderst keinerlei Gedanken gemacht,
wofür denn nun welches Pin gut ist, was dessen Funktion ist, was das
Manual dazu sagt.
Aber genau DAS wäre das, was man als ernsthafter Amateur oder ebenso
ernsthafter Profi zu allererst tut. Man kann doch nicht sich sagen "ich
weiß zwar noch nix, aber anstatt mich zu belesen, fange ich erstmal mit
Löten an" - ohne daß man sich hier in diesem Forum als ein
NichtDenkenWollender darstellt. Und dafür die entsprechende Kritik
bekommt.
W.S.
W.S. genau wegen Dir hat der TO sein letztes Posting verfasst.
W.S. schrieb:> Du hast mit dieser unsäglichen Obfuskations-Lib angefangen, hast dabei
Falsch. Der Hersteller hat damit angefangen. Und wenn der Hersteller
nicht suggeriert hätte, mit dieser Lib ist alles ein Kinderspiel, hätte
auch keiner den Chip gekauft.
Das die Sache eben doch komplexer ist, sieht man erst, wenn man sich
durch die auf viele Teile verteilen Dokumentation (>2000 Seiten) kämpft.
> wissen und können, eines Besseren belehrt - UND? ..und du hast> ersichtlichermaßen rein garnichts dazugelernt.
Nein. Deine Programmierweise mag für Dich besser sein. Was Du aber noch
nicht begriffen hast, das es andere Wege gibt, die auch gültig sind.
W.S. schrieb:> Irgendwie habe ich den Eindruck, daß gerade die nachwachsenden> Möchtegern-Mikrocontroller-Spezialisten einer fatalen> Schlaraffenland-Mentalität nachhängen.
Das mag ja richtig sein, aber dann such Dir doch ein anderes Hobby, als
hier im Forum zu posten...
Und stell Dich schonmal drauf ein: Es wird schlimmer werden!
Christian
Was soll das eigentlich hier ständig so auf Anfängerfehler zu reagieren.
Alle die hier die Fresse so gewaltig voll nehmen und auf solche Fragen
extrem reagieren sind offenbar als die Codinggurus auf diese Welt
gekommen. Die Herren haben wahrscheinlich ihr eigenes OS für ihre PCs
direkt binär von Hand in ihren selbstgeschnitzten PC gehackt. Werkzeuge
von anderen darf man gemäß ihren Ausführungen ja nicht verwenden.
Eigentlich sollten die ganzen Genies lieber froh sein das es andere gibt
die (mich nicht schlagen) über den Arduionolevel hinaus wollen. Und
selbst wenn jemand die HAL von ST verwenden will, und dafür eventuell
Gründe hat, ist es kein prinzipieller Fehler für den man jemand auf den
Scheiterhaufen stellen muß. Die vorher erwähnten Genies schreiben sich
wahrscheinlich auch generell eigene Treiber für PC-Hardware wenn ein
Fehler in dem vom Hersteller gelieferten drin ist.
Hallo Junx,
das Beste, was Ihr mit den Betty-Taliban W.S. anfangen könnt, ist ihn zu
ignorieren.
Er hat die Weisheit nicht nur mit Löffeln, sondern mit der
Baggerschaufel gefressen.
Mirplatztdiehutschnur schrieb:> Die Herren haben wahrscheinlich ihr eigenes OS für ihre PCs> direkt binär von Hand in ihren selbstgeschnitzten PC gehackt.
Ja. Damals gab es noch nichts.
aSma>> schrieb:> Irgend ein Dummer gibt die> Antwort schon und man lernt nie selbstständig zu arbeiten.
Vom Antworten wird man ja zumindest nicht dümmer. Wer selbständig
arbeiten will, quält sich halt durch die Dokus. Wem copy & paste reicht,
klickt sich halt seinen Arduino-code zusammen. Auch das kann ein
anspruchsvolles Hobby sein.
Christian schrieb:> W.S. genau wegen Dir hat der TO sein letztes Posting verfasst.
Nun, diesen Eindruck hatte ich auch.
Aber lies seinen letzten Beitrag nochmal gründlich, da tut sich eben
genau die von mir kritisierte Mentalität auf.
Christian schrieb:> Nein. Deine Programmierweise mag für Dich besser sein. Was Du aber noch> nicht begriffen hast, das es andere Wege gibt, die auch gültig sind.
Es gibt da einen feinen Unterschied: Ich komme mit meiner Weise aus
eigener Kraft zu Potte - der TO und eine Menge andere hier kommen auf
ihre Weise hingegen nicht zu Potte.
Und eben diese alle fragen deshalb hier nach der Schnellhilfe, ohne ihr
bisheriges Treiben auch nur im Geringsten mal selbst - so ganz für sich
- auf den persönlichen Prüfstand zu stellen. Anspruchsdenken: "Man
helfe mir - PRONTO!"
Also: Wenn jemand mit Cube, ST-Lib, Arduino und sonstwas zurecht kommt
und damit seine Ziele erreicht, dann ist das OK und kein Hahn kräht
danach.
Wenn aber jemand wirklich NICHT zurechtkommt, dann sieht das anders aus.
Ganz offensichtlich ist die Programmierweise des TO eben doch nicht ein
"gültiger Weg". Ich zitiere noch mal:
Markus S. schrieb:> habe auf> meine betsellte Platine eine F103 MCU verlötet. Programmieren ist kein> Problem,
Offensichtlich ist das Programmieren eben doch ein Problem für ihn.
Aber anstatt eine gewisse Einsichtigkeit zu haben, reagiert der TO
beleidigt. Das ist unangemessen und zeigt, daß er die Lehre noch immer
nicht angenommen hat. OK, er braucht das auch nicht, schließlich sind es
seine Projekte und nicht meine oder deine. Schlimm wird es nur, wenn
sowas in ein paar Jahren ins ABS meines oder deines Autos gelangt. Sowas
ist das Szenario, was mir wirklich Sorgen macht - und deswegen gibt's
auch in Zukunft von mir hier ne harsche Kritik, wo vonnöten. Ich geb die
Hoffnung nicht auf, daß es irgendwo doch was hilft.
Christian schrieb:> Und stell Dich schonmal drauf ein: Es wird schlimmer werden!
Hmm... auch dieser Gedanke stimmt einen nicht froh.
W.S.
W.S. schrieb:> Aber lies seinen letzten Beitrag nochmal gründlich, da tut sich eben> genau die von mir kritisierte Mentalität auf.
Mir ist nicht ganz klar, an welchen Stellen meines Posts du glaubst
festmachen zu können, dass ich mich ganz deiner niedergeschriebenen
Mentalität verhalte. Aber das ist hier ja ebenfalls an der Tagesordnung,
dass viel zwischen den Zeilen gelesen, vieles über einen Kamm geschoren
wird um dann seine Meinung über andere Leute kund zu tun. Erstaunlich
wie man sich an einer kleinen Anzahl an Beiträgen anmaßt vollumfänglich
über Personen urteilen zu können.
W.S. schrieb:> Und eben diese alle fragen deshalb hier nach der Schnellhilfe, ohne ihr> bisheriges Treiben auch nur im Geringsten mal selbst - so ganz für sich> - auf den persönlichen Prüfstand zu stellen. Anspruchsdenken: "Man> helfe mir - PRONTO!"
In keiner einzigen Zeile steht geschrieben das eine unverzügliche Lösung
auf dem Silbertablet erwartet wird bzw. wurde. Und ob du es glaubst oder
nicht, sicherlich hinterfragt man durchaus sein eigenes Vorgehen, wenn
man eine so offensichtliche Information so oft überlesen und damit nicht
selber gefunden hat.
W.S. schrieb:> Ah ja! Und du hast dir offenbar zuvörderst keinerlei Gedanken gemacht,> wofür denn nun welches Pin gut ist, was dessen Funktion ist, was das> Manual dazu sagt.
Sicherlich habe ich mir gedanken darüber gemacht, welche Funktion,
welcher Pin vom Controller für was verwendet wird. Beim erstellen des
Layouts, wurden dann der ein oder ander Pin nochmals verschoben, um ein
einfacheres Routing zu ermöglichen. Wenn du mit deinem Post sagen
möchtest, ich habe nicht jegliche mögliche Funktion im Datenblatt eines
jeden Pin's durchgeschaut, dann bin ich in iesem Punkt tschuldig. Um
einen Überblick über die verwendeten Pins in meinen Projekt zu bekommen,
habe ich von ST die CubeMX Software genommen, da man dort
Augenscheinlich einen guten Überblick hat und im Kontextmenü eines Pins
dessen Funktionen sieht. Genau dabei ist mir der Fehler unterlaufen
nicht die Default Pin Belegung zu checken und damit in das oben
beschriebene Problem zu laufen. Sowas sind nunmal mögliche
Anfängerfehler. Für die Zukunft lernt man daraus noch genauer
hinzuschauen um diesen Problemen aus dem Weg zu gehen.
W.S. schrieb:> Offensichtlich ist das Programmieren eben doch ein Problem für ihn.>> Aber anstatt eine gewisse Einsichtigkeit zu haben, reagiert der TO> beleidigt. Das ist unangemessen und zeigt, daß er die Lehre noch immer> nicht angenommen hat.
Auch bei dieser Ausführung stelle ich mir die Frage, woher du dein, aus
meiner Sicht sehr voreiligen, Schlüsse ziehst. Vielleicht habe ich auch
direkt im ersten Satz eine falsche Formulierung gewählt. Gemeint hatte
ich eigentlich das Flashen und debuggen des Controllers über die SWD
Schnittstelle ist kein Problem.
Aber um noch genauer darauf einzusteigen, auch die sontiges
Programmierung ist kein Problem, wenn du es als Problem siehst weil man
eine Information überlesen hast, ok ist deine Meinung.
Und beleidigt bin ich überhaupt nicht, sorry wenn das so bei dir
angekommen ist. Ich habe nur versucht gewisse Dinge klar zu stellen und
meine Meinung dazu gepostet. Wie schonmal gesagt, bin ich ja froh das es
hier Leute gibt die anderen helfen wollen. Wenn es dann noch einer
gewissen didaktik folgt das man noch selber was dabei lernt um so
besser.
Im großen und ganzen scheint hier bei einigen die Verbitterung darüber,
dass Anfänger mal Fehler machen und dann noch in einem Forum nachfragen,
sehr groß zu sein. Regelmäßig werden diese Anfänger dann sehr harsch
angegangen, eine Diskussion über sie geführt in der sie dann förmlich
zerissen werden. In den sehr vielen Fällen führt das dann dazu, dass
sich diese Leute garnicht mehr zu Wort melden und das, meine Meinung
nach, viele Beiträge nur noch als Gast verfasst werden. Dies ist der
Qualität der Beiträge sehr oft auch nicht gerade zuträglich. Das stellt
sich einem doch die Frage, warum dann überhaupt auf Beiträge geantwortet
wird. Anscheinend um sich selbst und seine Fähigkeiten zu feiern und
einfach ein wenig Stimmung zu verbreiten...
Um das ganze an dieser Stelle abzuschließen, ich bin oder war weder
beleidigt noch bin ich nicht gewillt dazu zu lernen und bei den nächsten
Problemen hoffentlich selber auf die Lösung zu kommen. Trotzdem danke
für die Hilfe und ebenfalls Harsche Kritik :-)