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
Dumme Frage: Warum die Daten nicht gleich ueber die serielle Schnittschnelle senden und mit UART am mc empfangen?
Hallo, weil ich die daten dann weiter an andere µC schicken möchte. mfg Michael
vielleicht erstmal die Gedanken sortieren, was geht und was nicht geht. Dann drüber nachdenken was die Ursache des Nicht-gehens sein könnte.
Hallo, ich weis ja das es gehen muss aber wie das weiß ich noch nicht sonst würde ich ja auch nicht um hilfe suchen. mfg Michael
"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?
Hallo, ich glaube du hast auch keine ahnung. Wenn du eine hättest wüdest du mal über den CODE den ich im ersten beitrag geschrieben habe mal schauen ob der richtig ist oder ob da ein gedanken fheler von mir drin ist!!! mfg Michael
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.
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.
"ich glaube du hast auch keine ahnung. Wenn du eine hättest wüdest du mal über den CODE den ich im ersten beitrag geschrieben habe mal schauen ob der richtig ist oder ob da ein gedanken fheler von mir drin ist!!!" Und ich glaube, du erwartest recht viel fuer dein Geld.
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
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.
"@ 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.
Hallo, ich bin kurtz vor des rätsel lösung :-)))))))) !!! muss glaube ich nur noch ein wort und eine zahl in meine code einfügen und es müsste gehen. mfg Michael PS: den Code stelle ich euch als erstes zur verfügung
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.
Hallo, ist doch noch mehr programmierarbeit als ich dachte. Ich werde morgen weiter programmieren. mfg Michael
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.
Mensch Junge, mach Dir doch nicht das Leben umständlicher als muß. Nimm die UART und bau dir n RS485 Netzwerk zusammen, dann kannste X µC und Deinen PC an eine Zweidrahtleitung hängen
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
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.
Ach ja, vielleicht schreibst Du mal, was genau Du vorhast. So Beschreibungen wie "weil ich die daten dann weiter an andere µC schicken möchte." sind doch recht vage.
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
Das klingt doch stark nach Hausbus. Vielleicht solltest Du dich mal im gleichnamigen Forum hier ein bisschen einlesen. Dort wurden verschiedenste Bussysteme schon ausgiebig durchgekaut.
Hallo, ok danke für den Tipp habe nun lesestoff für ein paar Stunden. mfg Michale
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.