Hi, ist wahrscheinlich ganz einfach wenn mans weiss, aber ich komme nicht drauf...: Ich will mit dem COM vom PC mit nur 2 Leitungen auf einen MC gehen und vom PC mit BASIC an den MC Zahlen schicken. Ich gebe also am PC eine Zahl ein (z.B. 1358). Die wandelt der ins binäre Format um: 10101001110 Das will ich über die 2 Leitungen schicken. Ich kann dem MC sagen: So lange Leitung A ein high liefert, kommen die Daten. Wenn low, dann Ende - das ist noch kein Problem. Dann schicke ich high/low Impulse über Leitungen B. NUR: Wie sage ich dem MC, wann 1 und wann 0 ist? Brauche ich da unbedingt eine dritte Leitung C oder gehts mit 2 auch? (Die dritte Leitung wäre dann: Wenn C high ist UND B high, dann ist es 1 und wenn C low und B high, dann 1) Übrigens: Mein MC hat keinen Timer, ich kann da nichts mit Zeitschleifen machen. Es gibt nur den Befehl: x Millisekunden warten/pause. lg Triti
Triturus Trit schrieb: > Mein MC hat keinen Timer Was für ein µC ist das denn, der ohne Timer daherkommt? Wenn er eine serielle Schnittstelle hat, könntest Du die Daten über einen MAX232 oder ähnlich vom PC an den µC Schicken. Ansonsten würdest Du eine Takt und eine Datenleitung benötigen. Die Leitung A würdest Du dann nicht benötigen. Frank
> Masse nicht vergessen. Nein, vergesse ich nicht. http://de.wikipedia.org/wiki/EIA-232 Da braucht man doch 3 Kabel? Und so wirklich schlau werde ich daraus auch nicht. http://de.wikipedia.org/wiki/1-Wire Wie das gehen soll verstehe ich nicht. >Was für ein µC ist das denn, der ohne Timer daherkommt? Das ist ein Picaxe-08. lg Triti
Triturus Trit schrieb: > Ich will mit dem COM vom PC mit nur 2 Leitungen auf einen MC gehen und > vom PC mit BASIC an den MC Zahlen schicken. > ... > Übrigens: Mein MC hat keinen Timer, ich kann da nichts mit Zeitschleifen > machen. Es gibt nur den Befehl: x Millisekunden warten/pause. Bei elektrischen Verbindungen müssen Sender und Empfänger mit mindestens zwei Leitungen Verbunden sein: Signalleitung und Rückleitung (GND). bzw. (+)-Signalleitung und (-)-Signalleitung. Es geht auch anders z.B. mit Lichtübertragung (IR, Laser...) und 0 elektrischen Leitungen. Sender (PC) und Empfänger (PICAXE-08) müssen den Start eines Datenpaket kennen. Bei RS232 ist das so gelöst: Der Sender legt im Leerlauf eine 1 auf die Leitung, d.h. die Leitung wird auf den 1 Spannungspegel gehoben. Zu Beginn eines Datenpakets wird zuerst eine 0 gesendet, d.h. 0 Spannungspegel. Diese 0 bezeichnet man als Startbit. Die Spannungspegel sind bei TTL und RS232 unterschiedlich. Zur Anpassung gibt es Pegelwandler wie MAX232. Sender und Empfänger müssen die Dauer eines Bits kennen. Der Sender legt für die Bitdauer eine 1 oder eine 0 auf die Leitung und der Empfänger tastet immer wieder die Leitung ab. Bei RS232 weiss der Benutzer die Dauer und konfiguiert beide entsprechend mit dem Parameter Baudrate. Man kann das auch anders machen, wenn man eine dritte Leitung benutzt, die den Takt, d.h. die Bitgrenzen mitliefert. Sender und Empfänger müssen die Anzahl der Bits für ein Datenpaket kennen. 8 ist eine gängige Anzahl von Datenbits. Sender und Empfänger können die Übertragung absichern. Dazu können ein Paritätsbit und Stoppbits gesendet werden. Normalerweise werden diese Parameter alle bei der Konfiguration der UART eingestellt. Dein PICAXE-08 hat keine UART, d.h. du müsstest das in Software nachbilden. Ein gute, d.h. erkennungssichere Abtastrate ist wenn ca. 3x oder öfter pro Bitdauer abgetastet wird. Also herausfinden wie schnell dein µC die Abtastung in etwa machen kann. Dann Umrechnen welche Bitrate damit möglich wäre. Dann Umrechnen welche Baudrate beim Sender eingestellt werden könnte. Bsp.: Der PIXACE könnte alle 1ms abtasten, wenn alle für die Auswertung nötigen Befehle abgearbeitet werden. Dreifaches Sampling, wäre 3ms pro Bit. Also 1000ms/3ms = 333 Bits/s. Bits/s sind die Einheit Baud. Manche PCs lassen sich auf die langsamen 300 Baud einstellen. Damit könnte man es in diesem Beispiel versuchen. Die Frage an dich ist jetzt: Wie schnell kann der PIXACE einen Eingangspin abtasten? Gibt das Handbuch dazu was her oder kannst du da messen?
Hi Stefan, vielen Dank, absolut super erklärt!! > Die Frage an dich ist jetzt: Wie schnell kann der PIXACE einen > Eingangspin abtasten? Gibt das Handbuch dazu was her oder kannst du da > messen? Messen kann ich nichts, höchstens ausprobieren. Aber ein Spezialist hat dazu das geschrieben: Laut Befehlsreferenz wird damit bei 4MHz Arbeitstakt des Controllers der Zustand des Pins alle 20µs abgefragt. Das heißt, das Signal darf maximal 25 kHz haben. Und das nur bei einem Impuls-Pausen-Verhältnis von 1:1. Ein solches bekommt man aber nicht so einfach. (Ich habe leider nur mehr 2 Eingänge am MC frei, geht also nicht mit 3 Leitung. Also muss man etwas über die Zeit machen). Aber es wird im Kopf schon heller. Ich werde nächste Woche ausprobieren wie lange das senden und empfangen dauert. lg Triti
> http://de.wikipedia.org/wiki/EIA-232 > Da braucht man doch 3 Kabel? Nur wenn man senden und empfangen will. > Und so wirklich schlau werde ich daraus auch nicht. > http://de.wikipedia.org/wiki/1-Wire > Wie das gehen soll verstehe ich nicht. Daher die Links auf die Artikel. Du kannst sie lesen, in den Referenzen nachschlagen, und lernen. Hier im Forum zu fragen bis du es verstanden hast, dich aber zu weigern den angebotenen Links zu folgen und sie erst mal so zu lesen und zu verstehen, wie Millionen andere Leute vor dir auch, bringt dich sicher nicht zu Ziel. Das Verstehen nehmen dir andere nicht ab.
Triturus Trit schrieb: > (Ich habe leider nur mehr 2 Eingänge am MC frei, geht also nicht mit 3 > Leitung. Also muss man etwas über die Zeit machen). Würde ich nicht pauschal sagen. Die PC-GND ------ PICAXE-GND Rückleitung würdest du ja nicht bei den freien Pins mitrechnen. Mit den beiden freien Pins am PICAXE kannst du entweder realisieren: * RS232 TX (Senden) und RS232 RX (Empfangen) = Vollduplex * was Infrarot-artiges mit TX und RX allerdings ist der Aufwand am PC nötig um RS232/LPT auf IR umzusetzen Kann man z.B. bei den Asuro-Leuten lernen * was TWI/I2C-artiges mit SDA (Daten) und SCL (Clock) allerdings ist der Aufwand am PC nötig um RS232/LPT auf I2C umzusetzen PC-I2C Adapterprojekte im Netz gibt es. oder wenn nur ein freier Pin vorhanden ist, kannst du halbduplex kommunizieren * zeitgleich über einen Pin entweder RS232 TX (Senden) oder RS232 RX (Empfangen) * mit was Infrarot-artigem mit zeitgleich entweder TX und RX allerdings ist der Aufwand am PC nötig um RS232/LPT auf I2C umzusetzen * mit was 1-Wire-artigem allerdings ist der Aufwand am PC nötig um RS232/LPT auf 1-Wire umzusetzen. Die "echte" 1-Wire Kommunikation ist wahrscheinlich zu schnell, aber du kannst eine eigene langsamere Variante basteln. Das ist noch nicht das Ende der Fahnenstange. Es gibt noch mehr Transfermöglichkeiten (Bussysteme). Die optimale Variante hängt von den Anforderungen (Datenrate, Vollduplex/Halbduplex, Entfernung, ...) und dem Aufwand ab, den du betreiben willst/kannst (Adapter am PC möglich/nicht möglich...) Mit RS232 würde ich anfangen - PC-seitig keine besonderen Anforderungen ausser einer RS232-Schnittstelle und die Leitungslänge darf schon ein paar Meter betragen. Wenn RS232 steht, würde ich mit den gewonnenen Erfahrungen eine IR Übertragungsstrecke planen. Die PICAXE sind ja prädestiniert für mobile Geräte wie Roboter o.ä. und da wäre ein Infrarot-Datenlink ein nützliches Feature. Wenn nur Senden PC/PICAXE gewollt ist, würde ich mich dabei bei RC5-Projekten umsehen. Als Testsender kann dann auch eine RC5-Fernbedienung benutzt werden :)
Hi, grauslich was es nicht alles gibt, was meinereiner (noch) nicht weiss. > Mit RS232 würde ich anfangen - PC-seitig keine besonderen Anforderungen > ausser einer RS232-Schnittstelle und die Leitungslänge darf schon ein > paar Meter betragen. Genau so etwas soll es sein. Werde mich in eine Höhle verkriechen und heftig denken. Danke für die lange Antwort! lg Triti
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.