gw-tuning
18.10.2011, 21:02
Guten Abend, ich habe zu meinem anderen Tread noch eine Frage.
Wir hatten heute ein Gruppentreffen und nun ja wir hängen fest. Das Anwenderprogramm wird in C# geschrieben und soll dann die Daten über die COM Schnittstelle mit dem Pic austauschen.
Nun wir dachten wie folgt. Damit der Pic nicht viel rechnen soll, wollen wir die Analogwerte 1zu1 an den Rchner übertragen in dem dann über eine Tabelle in einem Array die mA verglichen und ausgegeben werden.
Wir haben zu der Pic Platine noch 4 weitere Karten :
- Analogausgang mit einem 12BIT DA Wandler und Ansteuerung von 4 Ausgangsmgöichkeiten ( Port B 0-7;Port C 0-5; Port E 0-2)Port B und E für die 12Bit und Port E für die Auswahl des Ausgangs;
- Ausgangsrelaiskarte mit 3 Kaskarden mit je 8 Relais( Port B 0-7 für alle Relais aller Kaskarden und Port D 0-2 für die Kaskarde 1-8,9-16,17-24; Port A 4 zur Aktivierung der Karte, weil der Port B ja Zweimal genutzt wird)
- Eingangsplatine mit Diodenmatrix 24 Eingänge auf 5 Bit verteilt ( Port D 3-7)
- Analogeingangskarte (dank eurem Forum) mit Bürdewiderstand ingesamt 4 A-IN Port A 0 - 3)
So alle Digitalen Signale werden über Inverter passend zum Pic LowAktiv geschaltet.Das war unsere vorgabe von der Schulexperimentier Platine.
So was fehlt noch...
Die digitalen Signale wollen wir für die Ausgangskarte an den Pic schicken als Hex Zahl, die dann direkt das Ausgangsbit schaltet.
So ich glaube es ist nur möglich 8 Bit über die Schnittstell auf einmal zu senden.
Unsere Idee:
100x xxxx besagt starte das Programm 1 für Eingangskarte
010x xxxx besagt starte das Programm 2 für Ausgangskarte
110x xxxx besagt starte das Programm 3 für Analogausgangskarte
001x xxxx besagt starte das Programm 4 für Analogeingangskarte
Nach dem "Startsignal soll er dann die jeweiligen Code bekommen für die Entsprechende Bitbestückung/beschaltung. Bis ein Stop-Programm signal kommt... nur da wissen wir nichts mehr, vielleicht hat jemand ne idee ob das funtkionieren könnte und wenn nicht was wir machen könnten...
Danke danke, ich hoffe ich habe viele Infos geben können...
Unser Pic ist der 16F877A
Danke
Gruss Uwe, Rene, Markus, Alex
Wir hatten heute ein Gruppentreffen und nun ja wir hängen fest. Das Anwenderprogramm wird in C# geschrieben und soll dann die Daten über die COM Schnittstelle mit dem Pic austauschen.
Nun wir dachten wie folgt. Damit der Pic nicht viel rechnen soll, wollen wir die Analogwerte 1zu1 an den Rchner übertragen in dem dann über eine Tabelle in einem Array die mA verglichen und ausgegeben werden.
Wir haben zu der Pic Platine noch 4 weitere Karten :
- Analogausgang mit einem 12BIT DA Wandler und Ansteuerung von 4 Ausgangsmgöichkeiten ( Port B 0-7;Port C 0-5; Port E 0-2)Port B und E für die 12Bit und Port E für die Auswahl des Ausgangs;
- Ausgangsrelaiskarte mit 3 Kaskarden mit je 8 Relais( Port B 0-7 für alle Relais aller Kaskarden und Port D 0-2 für die Kaskarde 1-8,9-16,17-24; Port A 4 zur Aktivierung der Karte, weil der Port B ja Zweimal genutzt wird)
- Eingangsplatine mit Diodenmatrix 24 Eingänge auf 5 Bit verteilt ( Port D 3-7)
- Analogeingangskarte (dank eurem Forum) mit Bürdewiderstand ingesamt 4 A-IN Port A 0 - 3)
So alle Digitalen Signale werden über Inverter passend zum Pic LowAktiv geschaltet.Das war unsere vorgabe von der Schulexperimentier Platine.
So was fehlt noch...
Die digitalen Signale wollen wir für die Ausgangskarte an den Pic schicken als Hex Zahl, die dann direkt das Ausgangsbit schaltet.
So ich glaube es ist nur möglich 8 Bit über die Schnittstell auf einmal zu senden.
Unsere Idee:
100x xxxx besagt starte das Programm 1 für Eingangskarte
010x xxxx besagt starte das Programm 2 für Ausgangskarte
110x xxxx besagt starte das Programm 3 für Analogausgangskarte
001x xxxx besagt starte das Programm 4 für Analogeingangskarte
Nach dem "Startsignal soll er dann die jeweiligen Code bekommen für die Entsprechende Bitbestückung/beschaltung. Bis ein Stop-Programm signal kommt... nur da wissen wir nichts mehr, vielleicht hat jemand ne idee ob das funtkionieren könnte und wenn nicht was wir machen könnten...
Danke danke, ich hoffe ich habe viele Infos geben können...
Unser Pic ist der 16F877A
Danke
Gruss Uwe, Rene, Markus, Alex