Hallo, ich möchte eine RC Summensignal decodieren. Am liebsten würde ich das mit einem STM32F103 machen. Hat jemand erfahrungen an welchen Port man das ppm Signal am besten geben kann um den µC möglichst unbelastet davon zu lassen? Macht man das mit Capture Compare? Oder eignet sich ein anderer Eingang besser? Pepe
Was ist denn deine Definition von RC Summensignal? Das sagt hier niemandem was - also gibts keine Antwort. Ist RC eine Fernsteuerung? Wo wird die summiert?
Ich habe das Problem auf einem PIC mit dem Input Capture gelöst. Bei jedem Interrupt wurde die differenz zum vorherigen Timer Wert in ein Array (wert[kanal]) geschriben und der kanal um eins erhöht. War die Zahl großer als 2.5ms wurde kanal auf null gesetzt
Löter schrieb: > Ich habe das Problem auf einem PIC mit dem Input Capture gelöst. Bei > jedem Interrupt wurde die differenz zum vorherigen Timer Wert in ein > Array (wert[kanal]) > geschriben und der kanal um eins erhöht. War die Zahl großer als 2.5ms > wurde kanal auf null gesetzt Ich hab's auf dem AVR ähnlich gelöst, allerdings habe ich noch ein Array mit Bitmustern zur Ausgabe an die Servos angelegt. Dies ermöglichte auf dem 8-Pinner (Tiny15) das Decodieren ausgesuchter Kanäle (und Ausblenden der Unerwünschten). Beim Tiny2313 nutze ich den Input-Capture-Interrupt. Welche Möglichkeiten der STM32 bietet, kann ich mangels Kenntnis seiner Architektur (und Ausstattung) nicht sagen. ...
Man kann dafür den PWM-Input eines Timers nehmen, der die Länge von Pulsen automatisch messen kann. So muss man nur noch im Interrupt das Puls-Längen-Register auslesen und in einem Array speichern o.ä.. Eventuell noch mit einem 2. Timer einen Timeout hinzufügen, um das Ende eines Zyklus erkennen zu können.
Hallo, ich danke allen mit konstrutiven Beiträgen! @Kindergärtner Du hast nicht zufällig ein Beispiel für die ST-Lib-Initialisierung des Timers? Sich durch die Initialiserung der Timer zu graben ist immer echt eine harte Nuss die ich mir gerne ersparen würde ;-) Gruß Pepe
Pepe schrieb: > Du hast nicht zufällig ein Beispiel für die ST-Lib-Initialisierung des > Timers? Nö. Aber ST hat einen Haufen Example-Codes...
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.