Erstmals vielen Dank für ihre zahlreiche Antworten!
stromverdichter schrieb:
> du hast doch einen eingebauten Debugger an einem Board. Schau doch
> einfach in den Registern nach, wo es klemmt.
Hmm, ich befürchte das ich etwas bei Initialisierung falsch gemacht
habe. Da werde ich aber kaum was verstehen =( Bin in Mikrocontroller
Bereich ziemlich frisch.
Johnny B. schrieb:
> Nikita J. schrieb:
>> Neue Aufgaben führte mich zu Benutzung von CubeMX und damit
>> eingebundenen HAL-Library und C.
>>
>> Folgende Aufgaben müssen realisiert werden:
>> 1. Blink-LED (Erledigt)
>> 2. PWM-Signal (Timer) (2 zu 18ms+ 1 zu 19ms Initialisierung + variable
>> Werte von 1 zu 19ms bis 2 zu 18ms Drehzahl) - bin gerade dabei.
>> 3. Interrupt Zähler mit einer Lichtschranke - steht noch vor.
>> 4. Übergabe von PWM Werten über UART-Schnittstelle via Terminal (PUTTY)
>> mit Interrupt (Umdrehungszahl des Motors)
>
> Ich würde auch gleich noch mittels CubeMX das FreeRTOS einbinden lassen
> und dann alles dort drin implementieren.
> Wenn Du mit CubeMX den Code für PWM-Ausgabe erzeugen lässt, musst Du
> noch zusätzlich den Timer sowie die PWM-Einheit (CCR) mittels passenden
> HAL-Funktionen starten.
FreeRTOS -> das ist doch eigenes kleines Betriebssystem, richtig? Bittet
dies größere Vorteile? Ich dachte das die Aufgaben relativ leicht mit
normalem C-Programm realisierbar sind!?
Timer habe ich doch mit dem Befehl
1 | HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1);
|
gestartet!?
Curby23523 N. schrieb:
> stromverdichter schrieb:
>> du hast doch einen eingebauten Debugger an einem Board. Schau doch
>> einfach in den Registern nach, wo es klemmt.
>
> Dazu muss man diese aber erstmal verstehen. Und wer nur HAL macht, wird
> das wohl nicht tun.
Christopher J. schrieb:
> Nikita J. schrieb:
>> -Lohnt sich HAL-Library zu verwenden? (habe bereits im Forum Gelesen das
>> die HAL viele Fehler mitgeschleppt)
>
> Ein Fehler ist ganz sicher, dass Leuten wie dir der Eindruck vermittelt
> wird, man bräuchte das Reference-Manual nicht zu lesen, weil CubeMX/HAL
> alles vollautomagisch macht.
>
>
> Nikita J. schrieb:
>> sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_ETRMODE2;
>
> Dein Code ist unvollständig. Die Deklaration von sClockSourceConfig
> fehlt aber weißt du denn überhaupt wofür das gut ist? Ich fürchte nicht,
> weil man es für das was du machen willst erstmal gar nicht benötigt.
>
>
> Nikita J. schrieb:
>> /**TIM4 GPIO Configuration
>> PB6 ------> TIM4_CH1
>> [...]
>> Hier könnte Ihre Werbung sein!
>
> Ja ne, is klar.
Reference Manual habe ich. Vollständig durchgelesen - nicht.
1 | sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_ETRMODE2;
|
- wähle ich nicht damit die Clock-Quelle was mein Timer verwendet?
Warum brauche ich das für meine Realisierung nicht?
PSiem schrieb:
> Hi,
>
> ob sich die HAL lohnt oder nicht ist wohl eine Glaubensfrage.
> Ich programmiere viel damit, im Regelfall funktioniert das auch,
> mindestens genauso viel mache ich aber auch direkt mit den Registern.
> Um einen Blick in das Reference Manual kommst du aber so oder so nicht
> drum herum.
>
> Der Init-Code ist aber so nicht von CubeMx erzeugt oder?
>
> Gruß
OK, ohne Reference Manual komme ich anscheinend nicht weiter...
Also, ich habe zwar GPIOs, UARTs, EXTIs und TIMs mit CubeMX erzeugt aber
dabei etwas rumgebastelt, den es nicht so funktioniert hat wie ich mir
vorstellte.