brumbuch@freenet.de

Gast #342313
Lesenswert?

Hallo,

ich bin am verzweifeln!

Mein genaues vorhaben:
Ich möchte zwischen dem PC und einem µC (ATmega8) Daten übertragen und
zwar sind es digitale. Also nur ein und aus. Aber die Daten sollen nur
über eine Leitung vom PC zum µC geleitet werden. Es stehten mir
insgesammt 3 Leitungen zur verfügung. Ich dachte mir das so:
Eine Leitung für die Daten
Eine Leitung für den Takt in dem die Daten kommen.
Eine Leitung für das Signal das nun Daten kommen.
(Habe rausgefunden das man es mit SPI hinbekommen kann aber wie genau
weiß ich nicht)

Aber wenn ich das nun so wie ich es meine in VisualBasic (für den PC)
Programmiere und so wie ich mein in Bascom (für den µC) programmiere
funtzt da nichts.
Habe das ganze auch schon über LCD geschaut was der µC genau macht der
macht das annäherungsweise was er soll. Und was der PC macht habe ich
über einen anderen PC den ich so geschatltet habe, das er die Daten die
der eine Sendet empfängt und es müsste alles funtzen.

Nun meine Frage an euch:
Gibt es schon jdemanden, der das ganze verwirklicht hat und mir die zu
Hilfe oder den Code zur verfügung stellen kann?
Oder gibt es unter euch jemanden der das ganze auch machen möchte mit
dem ich das ganze zusammen lösen kann?

Das ganz soll über die RS232 schnittstelle laufen.

mfg
Michael

PS: Im Dateianhang meine CODS für VB und den µC in Bascom. Das VB
Programm läuft nur richtig wenn auch der µC richtig angschlossen und
prgrammiert ist. Die zwei VB Moduele müssen nach C: kopiert werden
Angehängte Dateien:
Gast #342318
Lesenswert?

"ich weis ja das es gehen muss aber wie das weiß ich noch nicht"

Ich weiß auch das es Raumschiffe geben wird die zum MArs fliegen, aber
noch nicht wie.


Halt erst mal scharf nachdenken: Was hast du, was fehlt, und wieso
fehlt es?
#342320
Lesenswert?

OK, der "normale" Weg waere:
                        |-> mc
PC --uart-> mc --SPI/I2C--> mc
                        |-> mc

Aber wenn du es unbedingt auf deine Art loesen willst, kann ich, da ich
weder VB, noch Bascom kann, leider nicht konkret weiterhelfen.
Ein Speicheroszi/Logikanalyser waere sicher zur Entwicklung deines
Protokolls hilfreich. Evtl den Takt runterschrauben, LEDs an die
Leitungen und an den mc und "von Hand" gucken, wo es hakt.
Einen Schnittstellenbaustein (zb 2x MAX232, da 3 Leitungen) zwischen PC
und mc hast du eingebaut? Wie ist er beschaltet?

gruss, bjoern.
Gast #342321
Lesenswert?

Na na bevor du hier irgendwelche Rundumschläge verteilst, einmal kurz
nachdenken.

Natürlich kann man auf diese Weise Daten übertragen, so wie du es
beschreibst (SPI). Allerdings hat der PC keine SPI Schnittstelle,
sondern nur eine RS232 Schnittstelle. Beide(SPI, RS232) sind zwar
seriell, die eine aber synchron und die andere asynchron. Du müsstest
also zwischen PC und einem MIcrocontroller über RS232 kommunizieren.
Alle weiteren Microcontroller kannst du dann ja, wenn du möchtest, über
SPI verbinden.
#342323
Lesenswert?

Hallo,

@ salival: sorry für den barschen ton. aber mir kam es so vor als
hättest du echt keine ahnung aber davon eine ganze menge. SORRY

Der µC hängt an der RS232 Schnitstelle direkt dran aber mit 10 KOHM
wiederständen.

Es kommen ja daten an am µC. Aber das timing sitmmt noch nicht ganz.
Ich kann entweder alles auf ja oder alles auf nein senden aber mal drei
ja und 5 nein gehen noch nicht.

mfg
Michael
Gast #342324
Lesenswert?

Was bedeutet der Microcontroller hängt direkt an der RS232
Schnittstelle? Du weißt aber, dass du noch einen Pegelwandler
zwischenschalten musst?!

Ansonsten würde ich sagen, stimmt deine Baudrate noch nicht ganz.
#342325
Lesenswert?

"@ salival: sorry für den barschen ton. aber mir kam es so vor als
hättest du echt keine ahnung aber davon eine ganze menge. SORRY"

Entschuldige dich nicht bei mir sondern bei Wegstabenverbuchsler...

"Der µC hängt an der RS232 Schnitstelle direkt dran aber mit 10 KOHM
wiederständen."

Das koennte der Fehler sein. RS232 verwendet andere Pegel, als es der
mc erwartet. Glaube irgendwas mit +-12V? Sollte rauszufinden sein. Der
mc will 0-5V. Das heisst da muss noch ein Schnittstellenbaustein
dazwischen. MAX232 hat 2mal PC->mc und 2mal mc->PC. Da du aber 3mal
PC-mc brauchst, muesstet Du entweder 2 davon verwenden, oder nach
anderen Bausteinen ausschau halten, die haben, was du brauchst.

Beschaltung fuer normale Kommunikation per UART findest du im Tutorial
oben links auf dieser Seite.

gruss, bjoern.
Gast #342327
Lesenswert?

wenn man nur vom pc zum controller sendet, braucht man nicht zwingend
einen pegelwandler. strom begrenzen und den rest erledigen die internen
schutzdioden.
auch viele pc-schnittstellen kommen mit logikpegel klar. verlassen
sollte man sich allerdings nicht drauf.
Gast #342330
Lesenswert?

Du musst das Signal vom PC invertieren!
Normaler RS232-Pegel ist -12V, das entspricht High-Signal am µC, +12V
ist Low-Signal.

Manche µC haben ein Polarity-Bit, mit dem man Ein- und Ausgang
invertieren kann.
#342332
Lesenswert?

Hallo,

ok ok ich sehe es ein. Ich wollte mit dem Kopf durch die Wand. Ich weiß
ja das es mit Uart einfacher geht. Aber wie geh ich dann weiter? Vom µC
zum nächtsen µC?
Was Marko da schrieb kann ich mir vorstellen aber wie soll ich nun das
in die Realität umsetzen?

Gibt es dazu schon konzept oder gar cods die ich verwenden kann?

mfg
ein an der Verzweiflung nahender Michael
#342333
Lesenswert?

Einsicht ist schonmal der erste Schritt. Also ich wuerde, wie oben schon
mehrfach geschrieben wurde, vom PC zum mc UART verwenden und dann mit
SPI oder I2C alle anderen controller ansprechen. Sollte doch mit Bascom
kein Problem sein. Das hat doch saemtliche Routinen schon eingebaut?

gruss, bjoern.
#342335
Lesenswert?

Hallo,

ok ich möchte kleine Pakete von ca 8 bit auf einen µC vom PC aus
leiten. Der erste µC interessiert sich nur für die ersten zwei Pakete
die nächten gibt er eins zu eins weiter. Der zweit nimmt sagen wir drei
pakete und schickt den rest auch 1:1 weiter. Ich möchte dann die Pakete
in denen ja 8 bit drin sind dann zu einem PWM signal umwandeln und
damit motoren/lampen ect. steuren.

Ich hoffe ich habe damit euch schon mehr geholfen.

mfg
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren