Ich bins wieder! Ich hoffe ich werde nicht irgendwann nervig. Mit meinem Projekt bin ich aber schon ganz schön weit gekommen und das nur mit Eurer Hilfe! Aber jetzt zu meiner Frage: Ich möchte zwischen dem Rechner und meinem Mirkocontroller Board eine ART Datenübertragung machen über die serielle Schnittstelle, wo ich zum Bespiel die Eingänge HI oder LOW schalten kann oder wo ich einen Timer Aktivieren kann oder wo ich die Eingänge abfragen kann. Erste Mäglickeit ist Stings zu senden z.B. PUT PORT D 1 - z.B. setze Port D1 auf HI oder GET PORT D 1 - z.B. frage Port D1 ab. Ist es sinnvoll es so zu machen oder es in ein Protokol zu verpacken z.B. PUT = 00001111 GET = 11110000 u.s.w. Wie macht man sowas am besten? Wie steuert man mit einem Programm am besten einen AVR?
Ich würde das ganze per Interrupt aufbauen: Ist ein Zeichen fertig empfangen, so wird es einem buffer-array zugeführt. Sollte das Zeichen eine bestimmte taste sein(z.B.Enter) so wird der buffer ausgewertet. über diesen weg ist es einfacher wenn du nur einzelne zeichen nimmst z.B. r p b für read port B oder so. In diesem fall must du nur das 1. 3. u. 5. Zeichen auswerten. Der Controller führt dann die Anweisung aus, sendet das Ergebnis zurück (evt. auch über Interrupt) und kehrt dann in den normalen Porgrammablauf zurück. Ich hab mal ein kleines Projekt so aufgebaut. Hat auch halbwegs funktioniert... Gruß, Florian
Hallo Sebastian Bau doch einfach eine Schleife, die auf ein Zeichen von der Seriellen Schnittstelle wartet. dim portd = output Dim A As Byte start: Do 'start loop A = inkey() 'look for character loop until A > 0 'is variable > 0 if a = 65 then 'Zeichen = A Portd = 255 'Bedingung end if if a = 66 then 'Zeichen = B portd = 0 'Bedingung end if goto start Wenn du viele Befehle schicken willst, bietet sich "select case" an. Kann mit einem terminal Prg gut testen. MFG Dieter PS: nur ein Vorschlag, geht bestimmt anders und besser
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.