danke, is ja nett gemeint. aber die hab ich auch. und das geht nicht.
hast die selber mal ausprobiert?? vor allem, wie soll das überhaupt laufen?
ich mein, ich habe 2 MC´s.
Druckbare Version
danke, is ja nett gemeint. aber die hab ich auch. und das geht nicht.
hast die selber mal ausprobiert?? vor allem, wie soll das überhaupt laufen?
ich mein, ich habe 2 MC´s.
Sicher hab ich die schon probiert.
Ja einwenig anpassen mußte die schon.
Die Routine ist für MC->PC vorgesehen wo einfach alles was ihm geschickt wird zurückkommt.
Für den einen Controller nur Serout und für den anderen nur Serin.
Beim Sendenden gibst du dem String nen Text oder läst ne Variable zählen.
ganz einfach
hast du die signale des senders verstärkt? werde das jetzt dann mal machen.
Nö,für wenige Zentimeter ist nix zu verstzärken.
Bei etwas größeren Distanzen wäre es aber Sinvoll beiden Controllern jeweils nen MAX232 zu gönnen.
Fang doch einfach mal im Sicheren Modus an.
runter auf 600 Baud.
Was ist übrigens endlich mit den Takten ?
Du hättest auch im anderen Beitrag nochmal nachfragen können, ob jemand noch ne Idee hat.
Es ist zwar ein blöder Spruch, aber hier passt er wohl ganz gut. "Rom wurde auch nicht an einem Tag erbaut."
Fang doch mal klein an. Nimm die Hardware-UART und sende dort deine Zeichen. Zuerst eine Zahl, dann einen String. Immer Schritt für Schritt vorgehen.
Wie soll man dir auch helfen bei deinem Problem?
Wenn selbst ein Codebeispiel bei dir nicht geht, was bei allen anderen ohne Probleme arbeitet?
Vielelicht ist es ja auch ein Hardwarefehler?
Was ist den mit den Fusebits? Hast du den/die AVR's auf externen Quarz gestellt?
Oder nimmst du den internen Taktgeber?
Passt die Takrfrequenz zu deiner Baudrate?
Besonder wichtig ist die Frage mit den Fusebits!
die geht, und die werde und will ich nur, und ausschließlich nur, für die übertragung zum pc verwenden.
im übrigen, hab ich einen fahrenden roboter. er erkennt bereits hindernisse, und fährt drum herum. alles super. nur das mit der kommunikation von einem avr zum anderen geht halt nicht. und ich dachte mir halt, daß ich wohl irgendwas falsch mache, sonst würde es ja gehen. darum das ganze.
und die fusebits scheinen zu stimme. der atmega32 läuft auf 49152Mhz (hatte nix anderes) der andere intern auf 1Mhz. ist ein atmega8.
könnte es daran liegen??
baudrate hab ich von ganz unten nach ganz oben und andersrum getestet. hab eigentlich alles durch, was ich selber auch so kann. drum schreib ich ja hier herein. hab sämtliche beispiele durch, die in irgendwelchen helpfiles/büchern stehen. wollte von jemanden wissen, der es selber mit serin/out arbeitet. weil, der evtl. eine erfahrung gemacht hat, die ich noch nicht gemacht habe, und in büchern sind schließlich auch fehler. habe da selber erfahrungen damit. hatte sowas erst kürzlich.
im übrigen:
DANKE DANKE für eure gedult mit mir.....
Ich vermute mal du meinst 4.9152MhzZitat:
der atmega32 läuft auf 49152Mhz
Ja der geht als Baudratenquarz bis 19200 ohne abweichung.
Der Andere Controller läuft aber mit 1 Mhz und da haste bei 19200 oder 9600 Baud satte 7.84% Abweichung.
Da wird kaum ne Komunikation oberhalb von Einzelnen Zeichen zustandekommen.
Erst mit 4800 oder weniger biste mit unter 1% wieder im Lot.
Es ist aber einfacher wenn du den M8 intern auf 4 Mhz stellst.
Dann klappts auch wieder mit 19200.
Auch einige der höheren Baudraten sind dann möglich da die Abweichungen untereinander recht gering sind.
Es gibt im Web sehr schöne Baudratenkalkulatoren mit denen man vorher sehr bequem überprüfen kann ob die Komunikation so hinkommt.
hmm... das wäre mal zu überdenken....
gut, 4Mhz bekomm ich auch noch.... und ja, 4.9152Mhz
ich arbeite auch nur bei 4800 baud. dachte mir, daß das für den anfang reicht.
weil besser mit dem oszi zu sehen.
Ja wie gesagt, 4800 geht ja noch bei den Angegebenen Frequenzen.
Aber zubedebken ist das der Interne Oszilator nicht gerade der Stabilste ist.
Der wandert schnell mal in Pampa aus.
gut, dann bastel ich da morgen einen 4mhz rein.
hab das mit dem oszi mal gemessen. der atmega32 sendet scheinbar was. zumindest sieht es so aus. und der atmega8 sollte jetzt was empfangen, und dann die string variable in eine nummerische wandeln, die vergleichen, und zurücksenden. aber er reagiert nicht im geringsten auf die sendung des atmega32. da geht nix rein.
werd das mit den quarzen mal machen, und dann seh ich ja weiter.
langsam tragen sich doch mehr kleinigkeiten zusammen als man das vermuten möchte.
danke!!!