Hallo, ich habe ein Problem bei der Ansteuerung der seriellen Schnittstelle des ATMEGA128. Mittels des beiliegenden Programmes lässt sie sich nicht dazu bewegen, auch nur ein einziges Zeichen an das angeschlossene Terminal zu senden. Im 103-Kompatibiliätsmodus funktioniert es. Das Programm ist die reduzierte Version eines auf dem 8535 problemlos laufenden, deutlich komplexeren Programms. Zur übrigen Beschaltung ist wenig zu sagen: 16 Mhz Quartz 2 x 15 pF Kondensatoren MAX 232 Ich habe das Programm im AVR Studio Simulator laufen lassen; die betreffenden Ports wurden entsprechend dem Datenblatt initialisiert. Auch Probleme mit dem Stackpointer schliesse ich aus (der wurde auf 2F5 initialisiert, also mittem im SRAM), da auch keinerlei Unterprogramme aufgerufen werden. Ich habe das Problem mit mittlerweile 3 Chips nachvollzogen, daher schliesse ich aus, dass der Chip defekt ist. Des weiteren habe ich testweise die 2. Schnittstelle versucht anzusteuern; das Ergebnis war ebenfalls negativ. Hier noch meine Fuses: M103C 1 CKOPT 0 BOOTRST 1 BODLEVEL 0 BODEN 0 SUT1 1 SUT0 1 CKSEL0-3: 1111 Was mache ich falsch?
hallo, ich habe auch probleme mit der seriellen schnittstelle..... kannst du mir sagen wie du die 16 Mhz Taktfrequenz eingestellt hast ? benutzt du zufällig stk500, stk501? chris hier mein thread: http://www.mikrocontroller.net/forum/read-1-217976.html#new viel glück ...
Ich verwende ein 16 Mhz Quartz an XTAL1 und XTAL2; zusätzlich habe ich die Fuse-Bits (hoffentlich richtig) programmiert, damit auch der Takt vom exteren Resonator genommen wird.
Hi das da "#define _AVR_ATmega128_ 1" solltest du nicht tun. Es gibt dafür den "-mmcu=$(MCU)" an der Kommandozeile. Die genauen Auswirkungen wird dir J. Wunsch im Detail erklären können aber ich erinnere mich zumindest das das böse ist :-) Aber was mir noch einfällt: Wie sieht den deine Beschaltung des MAX232 und dessen Anschluß an den Mega aus? Uart0 verwendet ja immmerhin die gleichen Pins wie das isp-Interface. Matthias
Hallo, ich habe das #define _AVR_ATmega128_ herausgenommen, was jedoch nicht zum gewünschten Resultat geführt hat. Der MAX232 (sowie der Anschluss über ein umgebautes Handy-Datenkabel) sind über 2.7 kOhm mit RX/TX verbunden. Auch der Betrieb ohne angeschlossenen Programmer funktioniert nicht. Mir ist aufgefallen, dass bei Verwendung des internen RC-Oszillators bis etwa 4Mhz und Bitraten bis 4800 ein Betrieb möglich ist. Nach diversen Versuchen bin ich nun darauf gestossen, dass bei einer Eingangsspannung von 4 Volt der Betrieb problemlos möglich ist. Wie kann das sein? Die genaue Typbezeichnung ist ATMEGA128 16AI 0502I,d.h. eigentlich ist eine Mindestbetriebsspannung von 4.5 Volt erforderlich.
Welche Baudrate fährst du? Bei 16MHz sind die hohen Baudraten alle sehr falsch. 14,765MHz wäre eine klügere Wahl gewesen - damit kannst du problemlos 115kbps machen. Lies vielleicht nochmal die Seiten über die Baudrate genau durch. Deine Beschreibung lässt sowas erahnen, dass du dich zu knapp an einer Fehlergrenze bewegst. jörn
Ne, ups habe gerade im Quellcode gesehen - 9600. Das sollte auf jeden Fall gehen. jörn
Lass mal die USCR0C Zeile Weg. Die Reset defaults sollten passen - deine finde ich etwas komisch (USCZ01 sollte doch auch 1 sein?). Uch mach mal das senden mit in die Endlosschleife rein, damit du nicht das eine zeichen verpasst. Ich habe z.B. (UART1 @ 115bps @ 14,??MHz): UBRR1L = 7; //115k2 @ 14,745MHz UCSR1B = (1<<TXEN1); //Transmitter UART1 enabled jörn
Hello All ; I have to modify some source code written for ATmega128 to msp430 and i found some registers like EER,EEWE,EEAR,EERE,EEDR . I would be grateful if you could tell me what the corresponding one in msp430f1611. thanks
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.