hallo leute, habe folgendes problem. ich verwende ein stk500 mit einem atmega16. hab mit den zugehörigen tools von internen rc oszi auf externen hochfrequenz resonator umgeschaltet. wollte jetzt wie im tutorial test über die rs232 senden. hab natürlich auch die dafür nötigen adaptionen am testboard vorgenommen, doch ich erhalte nur schrott. einstellungen habe ich wie im tutorial getroffen und sogar mal probiert anstatt 2 stopbits mal 1 stopbit. doch auch wieder nur schrott. hab auch schon rx mit tx vertauscht, da kommt dann gar nichts. betreffend der baudrate habe ich die oszillator frequenz mit dem avr studio nachgemessen und eingetragen. hat sonst jemand eine idee an was es liegen kann? danke im voraus Klaus Eckenfellner
Schrottzeichen deuten auf korrekte Hardware und fehlerhafte Software, insbesonders Baudrate. Programm? Quarzfrequenz?
programm ist das selbe wie im tutorial.(natürlich mit richtigen includes für meinen controller.) ich hab jetzt den takt mal nachgemessen und der ist 3.69MHz. und ist auch sehr stabil. sonst noch jemand eine idee???? hier mal das programm
out SPL, temp //SPH fehlt!! sbi UCSRB,TXEN ;TX aktivieren //üblicherweise stellt man erst alles ein und gibt daan erst Sender/Empfänger frei, sollte aber für die Funktion unerheblich sein ldi temp,1000000/(9600*16)-1 ;Baudrate 9600 einstellen //hier musst du mit deiner aktuellen Taktfrequenz rechnen out UBRR,temp //hat der Mega16 nicht UBRRH und UBRRL? Dachte ich jedenfalls, aber da hätte der Assembler ja meckern müssen.
im tutorial ist auch ein programm für den atmega8, du hast das für den 4433 erwischt. das für den mega8 entspricht mehr dem was du brauchst weil sph und spl verwendet werden und auch ubrrh/l. das anpassen der quarzfrequenz trotzdem nicht vergessen wenn das alles nicht hilft klemm mal einen 100nf kondensator zwischen rx und tx, hat bei mir wunder gewirkt
ich hatte bei mir wohl ein zu langes stück ungeschrimte leitung. die synchronisation mit mit dem pc hat dann wohl nicht mehr geklappt und es ist dauerhaft nur zeichensalat angekommen. dann hab ich mal probiert tx und rx mit einem kondensator zu verbinden und es hat sofort geklappt. frag mich nicht warum aber das war das einziges was was gebracht hat, sogar bei 300baud hat es nur fehler gegeben. vielleicht kann mir ja mal einer erklären warum der fehler dann weg war...
fehler von mir: 1) der hauptfehler war, dass ich das falsche programm erwischt habe 2) habe bei der clockfrequenz 4MHz stehen lassen, obwohl es, laut einer messung 3.69MHz sind. --> clock in programm umändern. der 100nf kondensator war nicht nötig. danke an alle die mir halfen.
Hallo! Habe ein Problem, dass mein Controller (ATMEGA16) keinen Mux macht, wenn ich ein Zeichen per Rs232 an ihn sende. Den Code hab ich als Anahng beigefügt. Habe den MAX232 durchgemessen, es liegt die Versorgungsspannungen lt. Datenblatt an. Die Schnittstelle am PC und das Kabel sind auch in Ordnung, weil ich mit meinem 8051 Kommunizieren kann. Hat jemand ne Idee?? Ist mein Quellcode fehlerhaft??? Danke im Voraus! Michael
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.