IO-Port Mapping

OP #4288588
Lesenswert?
• ▲
▼
Hallo,

ich habe mich, nachdem ich immer nur mit Arduino und fertigen Funktionen 
gearbeitet habe, an einen Attiny45 rangemacht. Programmieren mit ISP und 
Atmel Studio 6 funktioniert gut, auch wenn die Handhabung etwas 
umständlich ist(Kompilieren, Fenster für den Programmer öffnen, Tab 
auswählen, Hochladen).

Einfaches Blinken lassen mit delay und Ports und Pins setzten ging 
wunderbar. Timer und Hardware PWM haben auch geklappt. An den Interrupts 
bin ich grad dran. Bei der Arbeit mit den Timern und dem suchen im 
Datasheet hat sich dann folgendde Frage ergeben:

Was mache ich wenn ich ich z.b. alle 2 Timer mit je 2 kanälen benutzten 
will? OC0B und OC1A liegen auf dem gleichen Pin.

Benutze ich dann die TimerInterrupts um einen anderen freien IO-Pin zu 
schalten oder gibt es da andere Vorgehensweisen?
In wie weit ist eine Lösung mit Interrupts dann langsamer als eine reine 
Hardwarelösung, hat da wer Erfahrungen?

Alex
Gast #4288717
Lesenswert?
• ▲
▼
>Was mache ich wenn ich ich z.b. alle 2 Timer mit je 2 kanälen benutzten
>will? OC0B und OC1A liegen auf dem gleichen Pin.

Dumm gucken, dann nochmal über die schaltung nachdenken.
Im Hobby bereich macht es keinen Sinn sich mit zu kleinen
µCs zu quälen.

>Benutze ich dann die TimerInterrupts um einen anderen freien IO-Pin zu
>schalten oder gibt es da andere Vorgehensweisen?

könnte gehen, hat aber diverse Nachteile.

>In wie weit ist eine Lösung mit Interrupts dann langsamer als eine reine
>Hardwarelösung, hat da wer Erfahrungen?

Kommt auf die konkreten Werte an. Nachteile im Einzelnen:
- Jitter (Die PWM ist nicht immer exakt gleich breit)
- Aussetzer durch nicht ausgeführte IRQs
- Höherer Stromverbrauch
- Überlast des µC da zu viele IRQs
Gast #4288782
Lesenswert?
• ▲
▼
Alex Z. schrieb:

> Was mache ich wenn ich ich z.b. alle 2 Timer mit je 2 kanälen benutzten
> will? OC0B und OC1A liegen auf dem gleichen Pin.

Ganz einfach: man wählt nicht den Tiny 25/45/85...

Wobei man wohl zugegeben muß, daß Atmel hier nicht gerade ein 
glückliches Händchen beim Mapping hatte. Naja, bei 441/841 haben sie ja 
gezeigt, wie sie das zukünftig bei den LPC-Teilen handhaben wollen.

Mal sehen, ob es nach der Übernahme dazu überhaupt noch kommen wird...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.