Guten Abend die Mikrosteuerungs-Szene,
Ich habe ein neues zu bewertendes Anliegen an Euch, nachfolgend seht Ihr
ein Ausschnitt eines Programms zur Ansteuerung eines Schrittmotors.
Könntet Ihr hier einmal kommentierend "rüber schauen"?
(1) PUL (PA4) soll angesprochen werden
(2) DIR (PA5) soll gesetzt werden, je nach Richtung
(3) ENA (PA6) soll auf "high" dauerhaft gesetzt werden, ist aber schon
werksseitig auf "high" geschaltet lt. Datenblatt
Ich habe zudem einen OPTO-Eingang, den ich einfach freilassen werde, da
ich ihn nicht deuten kann.
Nun aber zum Quellcode-Ausschnitt als einfachen Diskussionsstart. Durch
ein Umschalten (engl. toggling) soll die Schrittmotorsteuerung
angesprochen werden. Könntet Ihr mir hier einmal den Unterschied kurz
zwischen ODR und BRR darstellen, ist der hier wichtig, was ich erst
einmal nicht so sehe?
Zudem setzen wir dabei im Ausgabe-Register abwechselnd die Pins von
"high" auf "low":
1
intmain()
2
{
3
RCC->APB2ENR|=0xFC;
4
5
// PA4, PA5 und PA6 müssen wir als Output deklarieren und "freischalten"
6
7
GPIOA->CRL=0x43334444;// Pin-Konfiguration setzen
8
GPIOA->ODR|=(1<<6);// ENA auf "high" setzen, Motor freischalten
9
GPIOA->ODR|=(1<<5);// DIR möglicherweise setzen, Richtung noch nicht herausbekommen
10
11
while(1)
12
{
13
GPIOA->ODR=0x0000;// einfachstes toggling, aber mit Ziel PA4 anzusprechen
Timbo2023 schrieb:> Mit besten Grüßen
Die Grüsse sind noch das Beste an deinem Eröffnungsbeitrag.
Magic Numbers (0x43334444 etc.)? Nein, das tut man nicht!
delay_ms mit einer Zählschleife? Nein, das tut man nicht!
Timbo2023 schrieb:> Könntet Ihr mir hier einmal den Unterschied kurz> zwischen ODR und BRR darstellen
Einfach mal das Datenblatt / User Manual lesen, da steht so etwas drin.
Naja, ich habe aufgrund meiner akademisch-studierten Erfahrung die neuen
Bundesländer wohl überschätzt im Mikrosteuerungs-Gebahren und den
fundierten Antworten -
Bei uns im Westen "macht man" eigentlich eher, das hat uns
imperialistisch groß gemacht ...
Eventuell könnten Sie aber noch einmal zu "macht man nicht", "macht
man", als Beitragsform fundierter werden...
Ich bin faktisch gesehen, noch nicht einmal auf die Aussage an, die Pins
4-6 als Ausgang zu setzen, vielmehr auf die Programmbeschreibung des
"Umschaltens".
Timbo2023 schrieb:> Ich habe zudem einen OPTO-Eingang, den ich einfach freilassen werde, da> ich ihn nicht deuten kann.
Eingang f. Referenzschalter? Eine Bohrspindel braucht sowas nicht, eine
Kugelumlaufspindel für einen Transportschlitten schon.
Zum Code fällt mir nur ein, daß es sich im Laufe der Zeit auszahlt, wenn
man die Operationen des untersten Levels in Macros oder Unterprogramme
mit sprechenden Namen auslagert, so wie es in delay_ms() ja auch gemacht
wurde. Das spart viel Zeit bei der Fehlersuche.
Gruß Klaus (der soundsovielte)
Timbo2023 schrieb:> Ich habe zudem einen OPTO-Eingang, den ich einfach freilassen werde, da> ich ihn nicht deuten kann.
Signale, die man nicht versteht, einfach offen zu lassen, ist keine
Lösung. Guck in die Beschreibung/Datenblatt, welche Bewandtnis es damit
hat.
Timbo2023 schrieb:> Ich dachte schon, ich muss PIN 5 nach ölen und an PIN 6 noch die Passung> schleifen ...
Und ich dachte schon dein Thread wäre kein Troll-Thread.
Timbo2023 schrieb:> Naja, ich habe aufgrund meiner akademisch-studierten Erfahrung die neuen> Bundesländer wohl überschätzt im Mikrosteuerungs-Gebahren und den> fundierten Antworten -
Offenkundig ein Troll.
Kann wegbleiben.
Timbo2023 schrieb:> Ich habe ein neues zu bewertendes Anliegen an Euch, nachfolgend seht Ihr> ein Ausschnitt eines Programms zur Ansteuerung eines Schrittmotors.>> Könntet Ihr hier einmal kommentierend "rüber schauen"?
Wenn Du andere Kommentare als die aktuellen haben möchtest, solltest Du
die Karten auf den Tisch legen. Im Moment sieht es für mich aus wie das
großspurige Gehabe eines armen Schweins, das eine um zwei Nummern zu
große Aufgabe aufgedrückt bekommen hat und nun zu verbergen sucht, daß
es keine Ahnung hat, indem es irgenwas zusammenkopiertes zur Diskussion
vorschlägt.
Das ist aber nur mein Eindruck, nicht die Behauptung, daß es tatsächlich
so ist.
Die einzig harte Info war bisher "Schrittmotorsteuerung" und
"STM32F103c6t8". Alles Andere sollen wir raten.
Also:
Welche HW soll verwendet werden.
Welche Entwicklungssoftware soll verwendet werden.
Welche Frequenzen sollen erreicht werden.
Wozu soll das Ganze dienen (damit wir sehen können, ob was fehlt!!!)
Gruß Klaus (der soundsovielte)
Timbo2023 schrieb:> Könntet Ihr hier einmal kommentierend "rüber schauen"?Timbo2023 schrieb:> Naja, ich habe aufgrund meiner akademisch-studierten Erfahrung die neuen> Bundesländer wohl überschätzt im Mikrosteuerungs-Gebahren und den> fundierten Antworten -
Wieviel Sylvester hast Du denn stukkatiert?
Was mich jedoch am meisten interessieren würde: welche Hochschule war
das denn? Und ich hoffe, dass Du dort keinen Abschluss erhalten hast.
Timbo2023 schrieb:> Eventuell könnten Sie aber noch einmal zu "macht man nicht", "macht> man", als Beitragsform fundierter werden...
Schau dir mal die Quelltexte anderer Programmierer an, dann siehst du
schon, was gemeint ist. Zum Beispiel:
http://stefanfrings.de/stm32/stm32f1.html
Ich werde mir jedenfalls nicht die Mühe machen, deine Hex Codes in die
Namen der Bits/Flags zu übersetzen.