Hallo, ich stehe gerade vor einem kleinen Problem. Ich habe meinen AVR (Mega16) mit einem alten Notebook verbunden. Das hat noch eine "richtige" serielle Schnitstelle. Wenn ich mir jetzt von meinem AVR Hallo Welt ausgeben lasse, zeigt es mir das auch an. Allerdings kann ich in mein Terminalprogramm nichts eingeben. Habe Hyperterminal und putty versucht, aber nichts passiert. Weiss jemand woran das liegen könnte? Bin echt ratlos. Empfangen klappt wunderbar, aber mehr auch nicht :(
Hi, Schalte mal im Terminal das ECHO an. gruß bernd
Wie sieht denn dein Aufbau aus. Hast du Rx und Tx verbunden. Wie merkst du, das das Programm der Fehler ist und nicht etwa die Software im AVR oder dien Aufbau? Schließe Rx und Tx mal Kurz und sende das was vom PC, dann müsstest du das angezeigt bekommen, was du gesendet hast (Was im normalfall nicht der Fall ist, da wird still im hintergrund gesendet, und was angezeigt wird ist nur das, was empfangen wurde)
Hallo, dein Terminalprogramm zeigt Zeichen an, die es empfängt. Wenn du Zeichen über die Tastatur eingibst, werden die zwar (sofern die Technik funktioniert) verschickt, aber nicht angezeigt. Du kannst sie höchstens anzeigen lassen, indem du z.B. mit einem Loopback-Stecker dein eigenes Signal zurück zum PC schickst. LG
Maunel schrieb: > Habe Hyperterminal und putty versucht, aber nichts passiert. > > Weiss jemand woran das liegen könnte? Hast du das Handshake abgeschaltet? Wenn da Hardware Handshake (heißt im Hyperterminal glaub ich "Flusskontrolle") eingeschaltet ist, dann gibt der AVR dem PC kein OK zum Senden. Echo würde ich ausgeschaltet lassen und stattdessen lieber den AVR das Echo übernehmen lassen. Dann ist die optische Kontrolle besser, ob die Verbindung auch wirlich steht, bzw. was der AVR tatsächlich gekriegt hat.
Hallo, danke für die zahlreichen Antworten. Ich habe das Echo eingeschaltet. Die Zeichen werden mir jetzt angezeigt, wenn ich was eingebe. Aber mehr passiert nicht. Der AVR kann zwar weiterhin senden, aber er reagiert nicht auf Eingaben. Mein Programm ist sehr simpel $regfile = "M16def.dat" $crystal = 1000000 $hwstack = 100 $swstack = 100 $framesize = 100 $baud = 4800 Dim Empfangen As String * 20 Do Empfangen = "" Input Empfangen Select Case Empfangen Case "0" Print "0 empfangen" Case "1" Print "1 empfangen" End Select Loop End Nur leider passiert nichts wenn ich eine 1 oder eine 0 sende. Verkabelt habe ich das ganze nach diesem Schema http://halvar.at/elektronik/kleiner_bascom_avr_kurs/max232_1zu1kabel/ Verkabelung habe ich grade nochmal überprüft, die ist genau wie auf dem Schaltplan. Hat noch jemand eine Idee?
Maunel schrieb: > Mein Programm ist sehr simpel UNd trotzdem schon zu kompliziert. Für den ersten Test: kein if, kein gar nichts. Der AVR sendet zurück, was er kriegt. Und wenn er Blödsinn kriegt, dann sendet er eben Blödsinn zurück. Und für deine ersten Tests nimmst du auch nicht INPUT sondern WAITKEY oder INPUTBIN. Denn das hat weniger Annahmen darüber, was die Gegenstelle senden muss. WEITKEY gibt dir alles, so wie es reinkommt. INPUT muss ein Carrage Return sehen, damit es weitergeht. Wenn nie eines kommt ... aus welchen Gründen auch immer, dann wartet INPUT bis zum St. Nimmerleinstag und du fragst dich (und uns) was da faul ist. Immer mit dem einfachst möglichen Test anfangen, den du dir vorstellen kannst! > Verkabelung habe ich grade nochmal überprüft, die ist genau wie auf dem > Schaltplan. Schön. Hast du die Handshake-Einstellung überprüft?
Karl Heinz Buchegger schrieb: > Hast du die Handshake-Einstellung überprüft? Ja, ist ausgeschaltet. Hier ist mein aktueller Code, aber er gibt nix zurück :( Dim A As Byte Do A = Waitkey() 'wait for a key Print Chr(a) Loop End
Dann nimm mal den µC aus dem Sockel und stecke ein Stückchen Draht in den Sockel, und zwar so, dass du die µC-Anschlüsse Tx und Rx miteinander verbindest. Wenn du dann am Terminal klimperst, dann musst du ein ECHO bekommen. Gegentest: Drahtbrücke raus und das Echo muss aufhören. Wenn das nicht klappt, dann hast du irgendwo ein Hardware-Problem: Kabel unterbrochen, irgendwo einen Anschluss vergessen etc. etc.
Es klappt nicht! Also muss ich wohl nochmal ran. Wie kritisch sind denn die Kondensatoren an dem MAX232? Habe erst 100nF Kerkos dran gehabt und jetzt habe ich getausch auf 100µF Elkos. Was anderes ist gerade nicht vorrätig
Hallo Der MAX232 braucht 1µF! 100nF ist zu wenig, 100µF deutlich zu viel. Der MAX3232 würde mit 100nF auskommen. da1l6
Maunel schrieb: > Habe erst 100nF Kerkos dran gehabt und jetzt habe ich getausch auf 100µF > Elkos. Datenblatt sagt soll=1µF. Aber du kannst ja mit einem Multimeter leicht testen ob der MAX tut was er soll.
OK, das passiert wenn man zwischendurch was anderes macht...
Hallo, ich habe mir jetzt dsa Pollin Board besorgt, welches ich noch rumliegen hatte. Darauf ist ja ein MAX232N mit entsprechenden Elkos. Also, dass Empfangen klappt wunderbar. Print "A" wait 1 Print "B" wait 1 macht genau dass, was es machen soll. Wenn ich jetzt aber RX und TX auf der µC Seite verbinde und etwas ins Terminal eingebe, passiert absolut nix. Ich bin ratlos, so schwer kann das doch nich sein :( RX an Pin 3 der seriellen Schnittstelle, TX an Pin 2, GND an Pin 5. Flusskontrolle Aus, Baudrate stimmt, keine Parität, 8 Daten und ein Stoppbit. Kein Kabelbruch oder sonstiges mit Multimeter feststellbar.
Maunel schrieb: > RX an Pin 3 der seriellen Schnittstelle, TX an Pin 2, GND an Pin 5. > Flusskontrolle Aus, Baudrate stimmt, keine Parität, 8 Daten und ein > Stoppbit. Kein Kabelbruch oder sonstiges mit Multimeter feststellbar. Irgendwo muss aber eine Unterbrechung sein. Nimm dir eine LED und verkable sie mit 220Ohm nach Masse. Dann gehst du beginnend mit der Seriellen am PC den kompletten Signalweg durch. Dazu legst du am besten erst mal einen Stein auf die PC-Tastatur, sagen wir mal aufs 'A'. Bei 9600 Baud (besser 4800 Baud) siehst du die LED wunderbar flackern. Fang PC_seitig an und verfolge das Flackern durch die komplette Kette. Irgendwo wird es verschwinden.
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.