> Und zwar, kann mir mal jemand den Unterschied zwischen Pollingverfahren
> und Interruptverfahren erklären???
Beim Polling fragst du regelmäßig bei der Schnittstelle nach, ob sie
Daten hat (für Empfang) bzw. bereit ist, Daten aufzunehmen (für Senden).
Etwa in der Art:
Hast du schon was? - Nein
Hast du schon was? - Nein
Hast du schon was? - Nein
Hast du schon was? - Nein
Hast du schon was? - Nein
Hast du schon was? - Ja
-> bearbeiten
Hast du schon was? - Nein
Hast du schon was? - Nein
Hast du schon was? - Nein
Du mußt dabei schnell genug fragen, daß keine Daten verloren gehen. Es
ist in der Regel einfacher zu handhaben, verbraucht aber meist mehr
Prozessorzeit. Je nach Anwendung machst du dabei eine Schleife, die
nichts weiter tut, als ständig nachzufragen. Dann kann der Prozessor
während dieser Zeit aber nichts anderes erledigen. Oder dein restliches
Programm läuft in einer Schleife, die garantiert kurz genug ist, damit
es reicht, einmal pro Durchlauf zu pollen. Dann läßt sich wenigstens
noch etwas anderes tun.
Beim Interrupt-Verfahren bekommst du diese Zustände automatisch von der
Schnittstelle mitgeteilt. Dein Prozessor werkelt so vor sich hin, dann
kommt der Interrupt, und er unterbricht sein Programm da, wo es gerade
ist und führt eine "Interrupt Service Routine" (ISR) aus, in der es z.B.
empfangene Daten in einem Puffer ablegt bzw. zu sendende Daten aus einem
Puffer an die Schnittstelle schickt. Nach der ISR wird das Programm da
weitergeführt, wo es unterbrochen wurde. Du mußt also nicht explizit
ständig nachfragen. Solange die Interrupts verhäntlismäßig selten
auftreten, ist die Prozessorlast niedriger als beim Polling. Eine ISR
hat aber einen gewissen Overhead, wodurch bei sehr hohen
Interrupt-Frequenzen dann auch eine hohe Last entsteht oder Interrupts
gar verloren gehen können.
> Des weiteren würde mich interessieren, muss ich bei jedem der beiden
> verfahren mit dem Reload Modus arbeiten???
Ich weiß nicht, was der "Reload Modus" ist. Evtl. ist das spezifisch für
die Schnittstelle, mit der du arbeitest.