Re: Performanceprobleme (wahrscheinlich I²C-Bus) Kategorie: Programmierung C (von Franz-Peter - 25.05.2013 17:07) | ||
Als Antwort auf Re: Performanceprobleme (wahrscheinlich I²C-Bus) von Torsten - 24.05.2013 19:08 | ||
| ||
> > > Der Grund weswegen ich denke, dass es Probleme macht ist, dass ein Interrupt immer das Hauptprgramm anhält und > > somit würde es Probleme machen während ein Signal erzeugt wird ein anderes zu erzeugen und zeitgleich auch noch > > die Abfrage der Potis machen mit denen ich die Signalzeiten berechnen will. Oder habe ich einen kompletten > > Denkfehler mit den Interupts? > > Hallo Daniel, > > lass mal die Interrupte völlig beiseite. Du brauchst > sie nähmlich gar nicht. Für die Erzeugung von Signalen > sind die Timer zuständig. Diese haben entsprechende > Ausgänge an denen das Signal abgegriffen werden kann. > Das Hauptproblem ist die oben erwähnte Phasenverschiebung > zweier Timer zueinander. Am besten du beschreibst uns > mal hier für was du die Signale brauchst. Vielleicht > gib es da noch eine andere Lösung. > > Gru� Torsten Hallo Torsten, Hallo Daniel Daniel hat ja am Anfang beschrieben, was er für Signale braucht: 2x 10ms-500ms in 1ms Schritten. Wenn er das nur über Timer machen will, braucht er dafür auf jeden Fall 16-Bit Timer. Mit dem 8-Bit Timer lassen sich so langsame Signale nicht direkt erzeugen. Der eingesetzte Mega32 hat aber nur einen 16 Bit Timer. Grundsätzlich lassen sich damit zwar 2 PWM Signale bei identischer Frequenz für beide Signale erzeugen. Die Phasenverschiebung ist dann aber nicht frei wählbar. Ich denke, er wird ohne Interrupts nicht auskommen. Es muss aber nicht unbedingt ein fester 1ms IRQ sein, der den Interpreter doch stark belastet. Ich könnte mir vostellen, zu berechnen, wann der nächste Flankenwechsel ansteht, und dann mit Timer 1 zu diesem Zeitpunkt einen IRQ zu erzeugen. In der IRQ Routine wird dann die Flanke (oder beide, wenn 2 gleichzeitig erforderlich sind) erzeugt, und berechnet wann die nächste Flanke ansteht und der Timer wieder entsprechend gesetzt. Nachteil: Da ein fester Grundtakt fehlt, schwankt die Frequenz ein wenig. Das ist aber bei seiner jetztigen Lösung nach seiner Aussage auch so, und nicht kritisch. Alles andere (Potis lesen, Werte anzeigen) wird in der Hauptschleife gemacht. Gru�, Franz-Peter | ||
Antwort schreiben Antworten: Re: Performanceprobleme (wahrscheinlich I²C-Bus) (von Daniel - 11.06.2013 10:28) Re: Performanceprobleme (wahrscheinlich I²C-Bus) (von Torsten - 15.06.2013 6:12) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum