Tonausgabe mit aktivierten Ticktimer

Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Tonausgabe mit aktivierten Ticktimer

 · 
Gepostet: 29.08.2010 - 18:13 Uhr  ·  #1
Ich muss Töne ausgeben und gleichzeitig alle 5 ms einen Sensor abfragen.
Mit dem Ticktimer klappt das in Verbindung mit Beepout nicht, das krächzt nur.

Wie kann ich am einfachsten ein" Piep" ausgeben ohne dass das von Ticktimer gestört wird?
Sollte ich da ganz auf Ticktimer und Soundport verzichten und alles zu Fuss über Timer machen?

Portb.2 steht nur as Pin zur Verfügung, müsste sich also euf einen bestimmten Pin legen lassen.
Ich setze einen Mega1284 ein, Timer sind also genug da.

Wäre super wenn mir da jemand weiterhelfen könnte.

Louis
Gunter
Administrator
Avatar
Geschlecht:
Herkunft: Frankfurt Main / Germany
Beiträge: 1697
Dabei seit: 02 / 2003
Betreff:

Re: Tonausgabe mit aktivierten Ticktimer

 · 
Gepostet: 30.08.2010 - 03:39 Uhr  ·  #2
Zitat
Wäre super wenn mir da jemand weiterhelfen könnte.

wäre super, wenn wir zunächst mal erfahren würden, was aus dem F16 Problem
geworden ist!
Das ist ja wohl das Mindeste!
Vorher mache (zumindest ich) mir keine Gedanken um weitere Probleme von Dir.

Gunter
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Tonausgabe mit aktivierten Ticktimer

 · 
Gepostet: 30.08.2010 - 08:28 Uhr  ·  #3
Das F16-problem besteht weiter, nur musste ich das erst einmal hinten anschieben. Eine Lösung habe ich nicht finden können, es ist mir nicht möglich mit writeln(f,'blabla') in eine Textdatei "f" zu schreiben wenn diese als File of Text definiert ist.
Aber wie gesagt, musste ich nach hinten schieben, das werde ich erst in ca. 3 Wochen näher untersuchen können.

Tonausgabe habe ich gestern abend noch mit Timer gemacht, klappt prima so, mit ein paar Verrenkungen kann man die Beep-Port Funktion einigermaßen nachbilden, ich brauche da ja nur ein paar Signal-Piepser, keine Musik oder so etwas. Soll nur "Piep" machen und nicht "Knarz" :-)

Man muss nur zusehen, dass keine andere ISR läuft und es wieder unterbricht, da liegt das Problem. Ich muss eben noch alle 5ms einen Messwert auslesen, das dauert insgesamt ca. 2,5 ms. In der Zeit muss das Piep eben auch noch sauber durchkommen.

Sowie ich das verstanden habe, ist innerhalb des "begin" und "end" einer ISR die Abarbeitung anderer ISRs gesperrt. Kann ich die Abarbeitung anderer ISR innerhalb der Laufzeit einer ISR irgendwie freigeben?

Louis
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Tonausgabe mit aktivierten Ticktimer

 · 
Gepostet: 30.08.2010 - 09:49 Uhr  ·  #4
Wer lesen kann ist klar im Vorteil.. RTFM sagt man ja :-)

Ok, Interrupt-Freigabe geht also, ist aber nicht empfohlen laut Handbuch. Da ist der Vorschlag mit der Semaphore und dem Prozess der sie abfängt schon besser, ich denke, damit wird es gehen. Der Timer bearbeitet die Signale, ein weiterer Timer-Interrupt setzt alle 5ms die Semaphore hoch, damit kann ich dann eine Prozedur starten die die Messwerte ausliest.

Voila, Problem gelöst.

Louis
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   77   91 · Page-Gen-Time: 0.034867s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI