Tonausgabe mit aktivierten Ticktimer

Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Tonausgabe mit aktivierten Ticktimer

 · 
Posted: 29.08.2010 - 18:13  ·  #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
Gender:
Location: Frankfurt Main / Germany
Posts: 1697
Registered: 02 / 2003
Subject:

Re: Tonausgabe mit aktivierten Ticktimer

 · 
Posted: 30.08.2010 - 03:39  ·  #2
Quote
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
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: Tonausgabe mit aktivierten Ticktimer

 · 
Posted: 30.08.2010 - 08:28  ·  #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
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: Tonausgabe mit aktivierten Ticktimer

 · 
Posted: 30.08.2010 - 09:49  ·  #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
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   77   91 · Page-Gen-Time: 0.021318s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI