Zitat Zitat von CowZ
Ich werde aber auf jeden Fall einen Interrupt am Hauptprozessor an die Module anschließen um den Modulen zu ermöglichen, dem Hauptprozi mitzuteilen, dass sie gepollt werden möchten. Dazu werde ich auch noch ein Bit zur Moduladdressierung nutzen. (Der Modul setzt einen festen Pin und der Hauptprozessor erkennt welches Modul den Pin gesetzt hat)
Das klingt jetzt für mich so, als wolltest Du jedes Modul mit einer
besonderen Leitung (Stichleitung) an einen PIN des Hauptcontrollers
hängen. Das geht, hat allerdings Vor- und Nachteile:

Der Hauptnachteil ist, dass Du für jedes Modul einen PIN am
Hauptcontroller benötigst. Die Anzahl der Module ist also schon allein
deshalb begrenzt. Ausserdem musst Du an jeden Modulstecker die
Stichleitung führen und kannst sie nicht einfach nur parallel schalten.

Der große Vorteil ist aber, dass Du erkennen kannst, wenn mehrere
Module gleichzeitig einen Interrupt setzen und die Anfragen dann in
der Reihenfolge ihrer Wichtigkeit abarbeiten kannst.

Meistens wird man aber Stichleitungen vermeiden wollen.

Zitat Zitat von CowZ
Eine weitere Frage: Wie weit lohnt es sich Sachen auszulagern? Lohnt es sich ein Ausgabemodul mit LCD und 7-Segmentanzeige zu machen und lohnt es sich ein Motormodul zu bauen? Oder sollten solche Grundlegenden Funktionen auf dem Hauptprozessor sein? (Und wenn nicht, was macht dann der Hauptprozessor überhaupt noch?)
Meiner Meinung nach lohnt es sich durchaus, auch die scheinbar "trivialen"
Sachen auszulagern.
Beispiel:
Wenn Du das LCD-Modul auslagerst, dann kannst Du es z.B. durch ein
Funkmodul (ich glaube, es gibt Standardkomponenten, die RS232 zu Funk
machen) ersetzen, ohne dass Du irgendwas an der Programmierung
des Hauptprozessors änderst.
Du steckst einfach das andere Modul an und erhältst die Ausgabe am
PC-Terminal statt auf dem LCD.

Der Hauptprozessor muss sich dann noch um die Koordination der
einzelnen Module kümmern. Immerhin soll der Roboter ja eine bestimmte
Funktion bzw. ein bestimmtes Verhalten haben.

Grüße,

Hans