@Niklas
> Ich benötige ein recht einfaches (glaube ich) geschriebenes programm für
> einen µC. ob PIC oder AVR is egal.
> Das programm besteht zum größten teil aus diesen sachen:
> [ grobe Beschreibung dessen was das Programm machen soll ]
Das generelle Grundprinzip bei uC ist immer identisch: Es gibt
Ein-Ausgabeschnittstellen (serielle oder parallele Ports) über die man
z.B. in (z.B. Tastenzustände einlesen) oder out (z.B. LED einschalten
) Operationen durchführen kann.
Das wichtige ist jedoch dabei nicht, ob oder wie der Prozessor heißt,
oder wie der zugehörige Assembler-Befehl heißt, der da das 4. Bit von
links auf einen Wert abfragt, oder das 3 Bit von schräg oben auf 1 oder
0 setzt. Das Wesentliche ist statt dessen, daß du den benötigten
Algorithmus so formulierst, das er funktioniert. Das kann in
"Pseudosprache" (also ähnlich wie umgangssprachlich), in einer
Programmiersprache (z.B Pascal, C oder sonstwas) oder in klingonisch
sein
Also fangen wir mal an deine Grundidee zu zerpflücken und weiter
aufzubauen:
Du hast also zwei autonome Systeme. Der erste ist der aktive und der 2.
ist der passive uC.
--------
fangen wir an mit dem passiven 2. System:
es soll einen Status ausgeben, und sonst nix. Anscheinend empfängt (so
deine Beschreibung) der 2. uC nur Informationen (es geht also nur in
eine Richtung)
dann ist das Programm dazu ja recht simpel:
Begin
initialisiere irgendwas
wiederhole bis zum St-Nimmerleins-Tag
lese einen darzustellenden Eingabewert ein
geben den Eingabewert geeignet aus
warte eine bestimmte Zeit (z.B. 1 Sekunde)
ende der Wiederholschleife
Einfach für die Eingabe- und Ausgaberoutine wäre es, wenn die
Übertragung der Informationen parallel erfolgen würde, dann bräuchte man
nur Daten "roh" abzuholen, und nahezu gleich "roh" wieder auszugeben. Du
sprachst aber von "eine Strippe", also mußt du die Informationen
"irgendwie" seriell übertragen und aufbereiten. Möglicherweise
unterstützt der von dir auszuwählende uC schon soetwas, hat also direkt
eine serielle Schnittstelle "mit drin", dann geht es halbwegs einfach,
und andernfalls mußt du dir die serielle Übertragung und Wandlung von
Seriell auf Parallel in Software bauen.
Jetzt nimm einfach an, das das Thema "lösbar" ist (seriell Übertragung
per Hardware oder per Software), und wende dich beruhigt dem 1. System
zu.
--
Jetzt also der 1. uC:
er soll 3 Tasten auslesen, und abhängig von irgendwelchen Tastendrücken
sollen irgendwelche LED an oder aus gehen. Grundsätzlich ist das auch
nix unmögliches, aber aus deiner Beschreibung werde ich nicht schlau.
Ich fang mal an "top down" zu "designen":
Begin
initialisiere irgendwas
mache erste Aktionen
blinke 2 mal /* Keine Ahnung ob das so sein soll
*/
wiederhole bis zum St-Nimmerleins-Tag
lese den Zustand von 3 Tasten ein
"mache was"
geben den ermittelten Zustand geeignet aus auf den LED
übermittle den Zustand an den 2 uC
warte eine bestimmte Zeit (z.B. 1 Sekunde)
ende der Wiederholschleife
Du solltest dir nun Gedanken machen, was das "mache was" nun genau
bewirken soll, d.h. welchen Zustand was bewirken soll. Bedenke, daß auch
mehrere Tasten gleichzeitig gedrückt werden könnten, und daß auch dann
irgend eine eindeutige Entscheidung / Reaktion passieren soll
Wenn du darüber nachgedacht hast, wie sich das System verhalten soll,
dann komm wieder, und dann erzählt dir jemand, wie es weiter geht
also dann, "Qapla’" (-->
http://de.wikipedia.org/wiki/Klingonische_Sprache)