Hat irgend jemand von euch einen vorteilhaften Rahmen für eine
Interruptsteuerung mit AD-Wandlung und Timer?
Ich will meine Ereignisse mit Interrupts ausführen lassen.
Wie kann man eine Anbindung der Interrupts zum Hauptprogramm herstellen?
Danke für jeden Tipp.
Die Interruptroutinen rufen im Normalfall nur weitere Routinen auf. Was
diese eigenen Routinen machen bleibt dir überlassen. Ich versteh aber
ehrlich gesagt auch nicht so ganz worauf du hinaus willst.
>Wie kann man eine Anbindung der Interrupts zum Hauptprogramm herstellen?
Der Timerinterrupt setzt eine globale Variable, die im Hauptprogramm
laufend abgefragt wird (Polling).
Ist diese Variable gesetzt, werden die gewünschten Funktionen aufgerufen
und die Variable gelöscht.
Ich muss mich selber korrigieren, evtl. fällt es euch dann einfacher es
zu verstehen.
Ich suche einen vorteilhaften Rahmen für eine Interruptsteuerung mit
AD-Wandlung und Timer.
>Ich will eben nicht alles mit Interrupts ausführen.
Und wo ist nun das Problem ?
1. Welchen µC willst Du nehmen ?
2. Was ist Deine Aufgabenstellung ?
3. Soll der ADC z.B. durch den Timer-IRQ gepollt werden ?
4. Willst Du einen Timestamp auf einen analogen Wert haben ?
5. Hast Du einen hübschen Hintern ?
usw. usf. ...
majortom schrieb:> Ich muss mich selber korrigieren, evtl. fällt es euch dann einfacher es> zu verstehen.> Ich suche einen vorteilhaften Rahmen für eine Interruptsteuerung mit> AD-Wandlung und Timer.>>Ich will eben nicht alles mit Interrupts ausführen.>>>> Beitrag melden Bearbeiten Löschen
Hört sich nach Hausaufgabe an.
Was heisst: "Vorteilhaft"? Welche Vorteile soll's denn haben?
Im allgemeinen verwendet man nur Schemata die vor allem die notwendigen
Vorteile haben. Insofern ist dieses Adjektiv allein völlig nutzlos um
uns einen Hinweis zu geben, was Du willst.
Ich versteh deine Problematik. Ich kann dir gerne Hilfestellung geben,
indem ich dir demnächst ein Konzept von mir online stelle, wie du es am
besten machen kannst.
Hallo JamesWhat schön, dass wenigstens du mich hier verstehst.
Ich bin dir sehr dankbar, dass du mir einen guten Tipp geben kannst.
Übrigens verwende ich von NXP den LPC 936.
Dank dir
majortom schrieb:> Übrigens verwende ich von NXP den LPC 936.
Verrate uns das doch nicht schon so früh.
Richtiger Spielverderber verraten das schon im 1. Post oder im Topic.
Und sie verraten auch noch mehr nötige Angaben. Z.B. möchtest Du das in
ADA oder in Fortran programmieren?
Wenn sie ganz frech sind, schildern sie sogar eigenen Gedankengänge und
Lösungsansätze. Und die Aufgabe, die sie lösen wollen.
Aber dann sind helfende Antworten quasi nicht mehr zu vermeiden.
Peter
> Ich suche einen vorteilhaften Rahmen für eine> Interruptsteuerung mit AD-Wandlung und Timer.
Eventuell hilft es ja auch, wenn du uns einen deiner Meinung nach
nicht-vorteilhaften Rahmen zeigst und ein paar Worte darüber verlierst,
was du daran nicht so toll findest.
Zumindest bei mir würde das extrem das Vertrauen wieder herstellen, dass
es dir darum geht Programmstrategien zu erötern und du nicht einfach nur
einen Blöden suchst, der dir deine Arbeit macht. Egal ob vorteilhaft
oder nicht. Denn oft genug ist die Frage nach 'der besten Möglichkeit'
eine Umschreibung für 'bitte macht das für mich, weil ich selber keinen
blassen habe - ich such gar nicht nach der Besten; ich such irgendwas -
egal was - Hauptsache ich kann was abgeben'
Majortom ich mach dir folgendes Angebot.
Meld dich hier fest an, dann kann ich dir einen Beispielcode zukommen
lassen, weil auf dieses Niveau muss ich mich wirlich nicht begeben. Es
ist hier wirklich erschreckend welcher Umgang hier herrscht und was für
ein anonymes arrogantes Pack seinen Senf hier abgeben muss.
Michael Bodden schrieb:> Meld dich hier fest an, dann kann ich dir einen Beispielcode zukommen> lassen
Bitte zeige Dein Beispiele hier und öffentlich. Vielleicht kann man dann
auf die Frage zurück schließen.
Aber der Kontakt zu Major Tom ist abgerissen. Die Zensur steht fest. ;-P
Nochmals für alle hier bei denen es noch nicht klick gemacht hat, was
ich eigentlich wollte.
Ich suche eine sinvolle Ablaufsteuerung, damit keine Timingprobleme
entstehen, weil ich unterschiedlich Zeiten wie 100ms, usw. einhalten
muss.
Durch 3 Interrupts werden Analoge Spannungen durch die AD Wandler
(Mulitplexverfahren) ausgelesen, die dann ständig mit weiteren
Informationen an die UART mit Hilfe eines Vektors übergeben werden.
Damit kann dann in kürzester Zeit 9 Bytes gesendet werden, usw.
Ich suche sozusagen eine Timerablaufsteuerung mit unterschiedlichen
Zeiten, bei denen dann bei den entsprechenden Zeiten Unterprogramme
aufgerufen werden, die den AD-Wandler, Eingabe per Inkremtalgeber, Daten
an die UART, usw. steuern. Jetzt sollte es eigentlich jeder hier
verstanden haben.
Ich suche keine Lösung, sondern ein Konzept um meine Timings
einzuhalten, damit keine bösen Überraschungen auftauchen.
MajorTom schrieb:> Nochmals für alle hier bei denen es noch nicht klick gemacht hat, was> ich eigentlich wollte.>> Ich suche eine sinvolle Ablaufsteuerung, damit keine Timingprobleme> entstehen, weil ich unterschiedlich Zeiten wie 100ms, usw. einhalten> muss.
Wie genau müssen die 100ms sein?
> Ich suche keine Lösung, sondern ein Konzept um meine Timings> einzuhalten, damit keine bösen Überraschungen auftauchen.
Und die Grundidee von Udo, eigentlich die Standardlösung, ist immer noch
die, die im Rennen ist.
100 Millisekunden. Da lacht doch dein µC drüber. Für den ist das eine
halbe Ewigkeit, in der er noch eine Partie Backgammon spielt, ein
Nickerchen macht, Kreuzworträtsel löst und dann sieht er sich an, ob
nicht irgendeine Aufgabe anfällt, die wieder mal drann wäre.
Die ganze Sache ist wirklich nicht schwer und ja, das ist eine
Standardanwendung für Timer. Und das Grundrezept ist immer das gleiche:
Eine Hauptschleife die Reihum überprüft, ob es Dinge zu tun gibt und
wenn ja diese ausführt, basierend auf Flags, die ihr vom Timer
zugespielt werden, der die Zeitbasis zur Verfügung stellt.
Etwas vornehmer ausgedrückt und etwas mehr verallgemeinert landet man
bei einer Statemachine, bzw. einer Kombination aus mehreren
derartigen Statemachinen, aber das Grundprinzip ist da wie dort
eigentlich dasselbe: keine Wartezeiten, keine Delays, länger dauernde
Vorgänge in mehrere Arbeitsabschnitte aufbrechen, Timergetriebene
Softwaretimer.
MajorTom schrieb:> Ich suche sozusagen eine Timerablaufsteuerung mit unterschiedlichen> Zeiten,
Ermittle den GGT aller Zeiten, setze dafür einen Timerinterrupt auf und
darin je einen Zähler pro Zeitdauer.
Schnelle Sachen macht man direkt im Interrupt.
Und die 9 Bytes schreibst Du in einen FIFO, den dann der UART-Interrupt
sendet.
Peter
MajorTom schrieb:> Nochmals für alle hier bei denen es noch nicht klick gemacht hat, was> ich eigentlich wollte.
Hmm, kann es sein, daß es bei dir nicht klick gemacht hat?
Michael Bodden schrieb:> Es> ist hier wirklich erschreckend welcher Umgang hier herrscht und was für> ein anonymes arrogantes Pack seinen Senf hier abgeben muss.
Kannst du das präzisieren, oder fehlt dir dafür der Arsch in der Hose?
Ich bin gespannt ob dein Code genauso qualitativ hochwertig ist wie dein
Beitrag.
MajorTom schrieb:> Ich suche eine sinvolle Ablaufsteuerung, damit keine Timingprobleme> entstehen, weil ich unterschiedlich Zeiten wie 100ms, usw. einhalten> muss.
Was gefällt dir an meinem -zugegeben ziemlich groben - Beispiel, das
durch zusätzliche Tipps von Karl Heinz und Peter angereichert ist,
nicht?
Was gefällt dir am Link von Falk nicht?
Das sollte reichen um zumindest eine Ahnung zu bekommen, einen eigenen
Ansatz zu haben und präzisere Fragen zu stellen.
Aber
majortom schrieb:> Ich will
ist natürlich einfacher.
Udo Schmitt schrieb:> Michael Bodden schrieb:>> Es>> ist hier wirklich erschreckend welcher Umgang hier herrscht und was für>> ein anonymes arrogantes Pack seinen Senf hier abgeben muss.> Kannst du das präzisieren, oder fehlt dir dafür der Arsch in der Hose?> Ich bin gespannt ob dein Code genauso qualitativ hochwertig ist wie dein> Beitrag.
Rechne besser nicht damit.
Interessant ist ja auch, dass
Major Tom
James Watt und
Michael Bodden
alle dieselbe IP-Adresse haben. Ein Schelm wer böses dabei denkt :-)
Karl Heinz Buchegger schrieb:> Interessant ist ja auch, dass> Major Tom> James Watt und> Michael Bodden>> alle dieselbe IP-Adresse haben.
Ah ja.
Kann ich das auch sehen, oder nur die Moderatoren?