-
Thread
Problem mit Empfang - UART Library Fleury
eine starke Abweichung hatte. Werde jetzt mal versuchen den internen RC-Oszillator zu kalibrieren. Grüße
das der Takt beim alten Controller eine starke Abweichung >hatte. Werde jetzt mal versuchen den internen RC-Oszillator zu >kalibrieren. NEIIIIIIN! http://www.mikrocontroller.net/articles/AVR_Tutorial_UART#Senden MfG Falk
-
Thread
Quarz vs Resonator
Baudraten (2400 baud) hat man eigentlich eine recht große Toleranz. Ich habe mal vor kurzem eine Software-UART auf einem Tiny15 realisiert (wegen IR-Übertragung mit einem TSOP als Empfänger nur 1200 baud). Diese versagte auch dann nicht als ich dem Tiny15 mit einer Lampe etwas einheizte (interner RC-Oszillator
2400 baud) hat man eigentlich eine recht große > Toleranz. Ich habe mal vor kurzem eine Software-UART auf einem Tiny15 > realisiert (wegen IR-Übertragung mit einem TSOP als Empfänger nur 1200 > baud). Diese versagte auch dann nicht als ich dem Tiny15 mit einer Lampe > etwas einheizte (interner RC-Oszillator
-
Thread
ATMega8 an Serieller SS sendet Müll
/io.h" /* USART-Init beim ATmega16 */ #ifndef F_CPU #define F_CPU 16000000 /* Oszillator-Frequenz in Hz */ #endif // Hilfsmakro zur UBRR-Berechnung ("Formel" laut Datenblatt) #define UART_UBRR_CALC(BAUD_,FREQ_) ((FREQ_)/((BAUD_)*16L)-1) #define UART_BAUD_RATE 19200 int main(void) { /* I/O Settings */ UCSRB |= (1<<TXEN); // UART TX einschalten UCSRC |= (1<<URSEL)|(3<<UCSZ0); // Asynchron 8N1 UBRRH = (uint8_t)( UART_UBRR_CALC( UART_BAUD_RATE, F_CPU ) >> 8 ); UBRRL = (uint8_t)UART_UBRR_CALC( UART_BAUD_RATE, F_CPU
-
Thread
Dringendes Problem mit UART+Baudrate.
Klemm man den Quarz ab, dann sollte gar nichts ankommen. Wenn doch was ankommt dann ist noch der interne RC-Oszillator mit 8 MHz aktiv. MfG Falk
gar nichts aus. Und die Auswahl der Taktquelle geschieht eben über die Fuses. Wenn die Fuses auf "interner RC-Oszillator" stehen, ist es dem µC völlig egal, ob da extern ein Quarz dranhängt oder nicht.
-
Thread
UART Bootloader ATtiny13 - ATmega644
, ich habe gerade diesen tollen Bootloader ausprobiert und habe anscheinend einen bzw mehrere Fehler gemacht , aber ich bin mir sicher das mir jemand helfen kann ! -Also ich verwende einen Atmega 8 und benutze orginale Uart pins ! -Das asm File habe ich soweit notwenig umkommentiert kompiliert
Semikolon vor m32def.inc entfernt. 4.2 Pins deklariert(waren die gleichen Pins da ich den Hardware UART nutze) 5.CMD geöffnet (vorsichtshalber über eine .bat um die Fehler mitzuschreiben(avrasm32.exe -fI BOOTLOAD.asm > avrasm.txt)) Und leider waren in dieser Textdatei doch eine ganze Menge Fehler
-
Thread
UART Probleme mit AT90CAN128
der Controller läuft aber schon mit externem Quarz und nicht mir dem standardmäßigem RC-Oszillator oder? (Fuses!)
ISP-Programmieren - Bist du sicher, dass der AVR mit 4Mhz läuft? (Woher kommen die: STK-500, Quarz, internerRC-Oszillator...) - Benutzt du die richtige Serielle schnittstelle? hth. Jörg kannst du mal das aktulle Programm posten ? (möglichst in [c ] [/c ]-Tags(ohne Leerzeichen ;) ))
-
Thread
USART Routine von ATMEL
>Den ATmega8 hast du auch umgestellt vom 1-MHz-RC-Oszillator auf >externen Takt, ja? ? Hab den internen Takt der STK 500 mit 3,86....
Matthias wrote: >>Den ATmega8 hast du auch umgestellt vom 1-MHz-RC-Oszillator auf >>externen Takt, ja? > ? Hab den internen Takt der STK 500 mit 3,86.... Woher weiß das aber dein ATmega8? Den interessiert das einfach gar nicht, was an seinem XTAL1 passiert, solange
-
Thread
bidirektionale RS232 Funkbrücke mit RFM12
wählbar machen?) Sollte nach X - Wiederholungen keine Antwort kommen könnte man einfach einen Fehler ausgeben auf die UART und alle Daten verwerfen. (ggf. durch LEDs zu signalisieren)
Moinsen, da ich eine interne UART Funkbrücke brauchte die nicht an den Hardware UART geht habe ich mal diese Funkbrücke als Library gekapselt. Der Aufruf erfolgt genauso wie die UART Lib von Peter Fleury. Im Anhang eine
-
Thread
Butterfly kapput?
leuchtet grün), aber sobald ich Programmieren will, oder Fuse bits anzeigen lassen will meldet er einen Fehler (LED blinkt orange und rot, ich meine dazwischen ist auch mal wieder grün). Die ISP-Frequenz habe ich auf 500 kHz stehen, da das Butterfly 2 MHz hat ist dies 1/4 des CPU-Clocks. Meine vermutung
ATmega169 auf dem BF ist im Auslieferungszustand per AVR-Fuses so eingestellt, dass der Kern vom internen R/C-Oszillator (nom. 8MHz) ohne Prescaler getrieben wird. Zumindest ist das bei denen so, die ich bisher gesehen habe. Die vorinstallerite Beispielanwendung setzt nach Reset den Prescaler per Software
-
Thread
ATmega8 -UART Problem(dringend!!!)
Die interne Oszillator wurde wahrscheinlich benutzt. :-P Die Fusse wurden nicht richtig eingestellt. Ich benutze ICCAVR als Complier und Ponyprog ueber ISP(kein JTag), um die Programm unterzuladen. Wie kann
geklappt!!!! War der Fehler mit Fuse!!! Hatte die Datenblatt nicht alle durchgelesen! selber Schuld! Aber danke Euch! Ihr hat mir sehr viel geholfen!
-
Thread
Minimalbeschaltung Mega8
Ein neuer Mega8 läuft mit internem RC-Oszillator mit 1 MHz. Ein zum myAVR-Board mitgelieferter Mega8 ist auf externen Quarz 3..8 MHz eingestellt, damit die UART-Schnittstelle des Boards funktioniert. Wenn Dein Mega8 also von myAVR.de
Abblock-Kondensatoren (100nF) für Vcc und AVcc auch noch einen Quarz von z.B. 3,6864MHz (oder 4MHz, wenn UART nicht so wichtig ist) und die beiden Kondensatoren um die 22pF am Quarz gegen GND. Alternativ kannst Du den Mega8 wieder auf internen Oszi zurückfusen, damit solltest Du Dich aber erst befassen,
-
Thread
Atmega MAX232 Kommunikationsfehler
Atmega zu Excel funktioniert. Leider nicht umgekehrt. Ich habe mit dem AVR Terminal den Empfang in das Uart-Register simuliert und keine Übertragung hinbekommen. Zu Testen nehme ich die UART-Beispiele aus dem Microcontroller-Lehrbuch von R.Walter. Deshalb gehe ich davon aus, dass der Fehler in der Hardware
Wie wird der Takt von 8MHz erzeugt? - Externer Quarz, - externer Quarzoszillator oder - interner RC-Oszillator? ...
-
Thread
Bootloader des Butterfly resp AVRStudio
Das Butterfly board laeuft warhrscheinlich standardmaessig mit dem 1MHz > RC. BF "läuft mit" internem RC-Oszillator, ja. BF Schaltplan überhaupt mal angeschaut? Die 8MHz am Ausgang des internen RC (Teiler-Fuse ist nicht programmed) werden durch 8 geteilt und die resultierenden 1MHz dann mittels des
bei 1MHz (U2X beachten, vgl. ATmega169 Datenblatt). Die RC-Teilereinstellung wird zum Betrieb des UARTs zum Kontakt mit AVRProg auf 4 gesetzt. Grund: 1MHz -> geringer Stomverbrauch, 2MHz -> schnellere Übertragung mit 2*9600=19200bps, vgl. Tabelle in einem AVR Datenblatt, Error-Spalte. Martin Thomas
-
Thread
Taktquelle ändern
MCs zu verändern, daß dieser bspw. zunächst durch einen Quarz getaktet wird und dann durch den internen Oszillator z.B. durch einen Interrupt?! Hoffe die Frage ist nicht allzu blöd...
-40 und 125°C Der AT90CAN hält diese Temperaturen aus...ein Quarz leider nicht. Deshalb muss der interne Oszillator herhalten. Um aber die Messdaten nach den Messungen via UART zum PC zu schicken brauche ich (soweit ich das hier in dem Forum gelesen hab) einen möglichst genauen Takt und den kriegt man
-
Thread
Problem it STK500 und dem AVR Tutorial ...
richtig weiss, wie ich ihn mit der stuiosoftware umsetze: "eim ATmega8 ist standardmäßig der interne 1 MHz-Oszillator aktiviert; weil dieser für viele Anwendungen (z.B. UART) aber nicht genau genug ist, soll der Mikrocontroller seinen Takt aus dem angeschlossenen 4 MHz-Quarzoszillator beziehen. Dazu
Hi was war der Fehler außer eine zu hohe ISP Frequenz? Warum kannst du jetzt flashen? Gruß MISZOU
-
Thread
Baud rate berechnen
nicht mal annähernd korrekt sein. Hinzu kommt noch die Frage, ob Du einen externen Quarz oder den internen RC-Oszillator nutzt. Im zweiten Fall ist funktionierende asynchrone Datenübertragung eher Glückssache.
include <avr/interrupt.h> #include <stdlib.h> #ifndef F_CPU #define F_CPU 1000000 /* Oszillator-Frequenz in Hz */ #endif // Hilfsmakro zur UBRR-Berechnung ("Formel" laut Datenblatt) #define UART_UBRR_CALC(BAUD_,FREQ_) ((FREQ_)/((BAUD_)*16L)-1) #define UART_BAUD_RATE 9600
-
Thread
Constante in If-Anweisung geht nicht?
@Uhu Uhuhu Gute Frage, wahrscheinlich hat er den Fehler gemacht den viele machen (auch ich) dass sie den internen RC Osc. + UART verwenden und somit die Baudrate nicht stimmt.
Hm bei mir klappt die UART-Kommunikation beim STK500 mit internem Controller-Quarz. Kommt das auf die Baudrate an, ob sich da Fehler einschleichen?
-
Thread
USB RFID Tag Leser
extern einen Schwingkreis auf und messe die Resonanzfrequenz. Vermutlich ist in der Berechnung ein Fehler.
funktioniert nur, wenn der µC mit 7,73728 MHz läuft. Vermutlich hast Du im Moment die Schaltung mit dem internen RC Oszillator (1/2/4 MHz) laufen. Stefan
-
Thread
Serielle, Hyperterminal
/* Oszillator-Frequenz in Hz */ #endif #define UART_UBRR_CALC(BAUD_,FREQ_) ((FREQ_)/((BAUD_)*16L)-1) //Hilfsmakro zur UBRR-Berechnung ("Formel" laut Datenblatt) #define UART_BAUD_RATE 9600 volatile
will sehr wohl die 9600 Baud mit dem internen RC-Oszillator verwenden. mach ich vielleich einen Fehler mit dem hyperterminal? stimmt ansich der code??
-
Thread
UART-Fehler :(
ob du die CLKDIV Fuse ausgeschaltet hast. Dein µC läuft dann zwar mit 8Mhz aber immer noch am internen Oszillator.
> den Quarz rausziehe! > Oha. Das ist aber ein deutliches Indiz dafür, dass der µC auf 'interner Oszillator' läuft.
-
Thread
Beispielprogramm für RFM12 433MHz Funk-Module
Meine Module werden vom Mega8 mit internen Clock 8 Mhz gesteuert. Ist das ein Problem das die Module mit internen Clock laufen? Hab die mit 19200Baud laufen. Ist es wie bei UART das man 0.2% Fehler hat? oder ist es da egal? Soll ich lieber
wie schalte ich das Modul in den Standy, also den Sende- und Empfangsteil ab, sodass nur noch der interne Oszillator des Moduls läuft und wie schalte ich dann den Sende- bzw. den Empfangsteil wieder an? Danke im Voraus Chris
-
Thread
UART- seltsamer Empfang
vertan, oder der µC-Takt stimmt nicht mit dem, was du zur Berechnung genommen hast. Kommt gern beim interne Oszillator vor... Ich denke das wird der Fehler sein...
kein Parity, kein Handshake. Baudrate gleich der Baudrate im µC im µC: entsprechende Baudrate, interner Oszi bei 1MHz, Programm aus dem UART Tutorial (Clock auf 1000000 geändert, schleife zum ausgeben der Zeichen zugefügt) Abder auch das unveränderte Tutorial Prog liefert nicht test! zurück Hat
-
Thread
ATMEGA8 Soundgenerator/Synthizer
synthesizer 128 oszillatoren pro stimme. das dürfte der mega nicht schaffen :-) aber man kann sich ja evtl mit 64 oszillatoren und einer stimme begnügen. obwohl ich mit den megas noch nicht viel gemacht habe, werde ich das
kompiliert bekomme... kein Makefile dabei.. habe das aus dem anderen Verzeichnis angepasst.. ihm fehlen aber noch die Uart Sachen.. mal sehen.. Peter
-
Thread
ATMEL billiger und leistungsfähiger als PIC
PIC-Anhängern wie z.B. Die Fuse-Bits eines AVRs würden mich verwirren. Oder: Ich brauche keinen internen Oszillator auf einem Prozessor. .. Die Liste dieser Pseudoargumente ist unendlich lang und tatsächlich ist kein Argument wirklich überzeugend und jedes durch ein Gegenargument sofort entkräftbar
PIC-Anhängern wie > z.B. Die Fuse-Bits eines AVRs würden mich verwirren. > Oder: Ich brauche keinen internen Oszillator auf einem Prozessor. > .. PIC hat auch FUSE-Bits, sofern wir jetzt vom gleichen sprechen. > Die Liste dieser Pseudoargumente ist unendlich lang und tatsächlich ist > kein Argument
-
Thread
Max233: Falsche Characters
habe ich den ATmega32 auf den internen 4 MHz-Oszillator umgestellt, der Fehler in den Baudraten beträgt nun nur noch 0,16%. Auf einmal verstehen sich AVR und PC. Ich hoffe, daß Dein Problem ähnlich gelagert ist und du es so lösen kannst
@ Stefan >auch bei 4 MHz internem Oszillator hat das Terminalprogramm noch >Schwierigkeiten mit der Decodierung bzw Darstellung. Dies äußert sich Kein Wunder. Das der interne RC-Oszi selbst Fehler bis zu 5% haben kann hat sich
-
Thread
RFM12 - Funkmodul
welcher controller wäre dafür eurer meinung verwendbar, aus der atmel reihe!? eigenschaften. - 1 uart - 1 spi schnittstelle ( getrennt nutzbar) - möglich ein 8pin gehäuse!? - interner oszillator!? - baudrate: 19,2kbaud (oder einstellbar über ein paar switches - dann allerdings mehr pins nötig)
doch eher umständlich da der nur 1 Universal Serial Interface hat. Der Atmega hat ein spi und ein uart was die sache doch vereinfacht. Interner RC Taktgeber und uart verträt sich sowiso nicht. gruss Sven
-
Thread
6502 Emulation auf AVR ?
die Debugumgebung irgendwie anpassen, 20ms-Timer-IRQ für den 6510 aktiv haben und Single-Step mit UART-Ausgabe zu machen, verträgt sich irgendwie nicht so ganz richtig... Ansonsten noch diverse Fehler in der 6510-Emu beseitigt, vor allem das doppelt eingebaute Status-Register mit mal hier - mal da -
>Ich habe noch etliche Fehler in der 6510-Emu gefunden und bereinigt, von >Tippfehlern über Fehler im Ablauf bis zu Verständnisproblemen >meinerseits. So geht's mir mit dem ATMEGA-SID auch. Eigentlich habe ich gedacht, ich
-
Thread
USB AVR ISP
Oh ha, das provoziert natürlich Fehler wird gleich geändert
Die UART Firmware verwenden auch etliche Leute, bei der weiss ich das Sie funktiniert. Da muss noch was anderes sein ... 9600 gehn bei mir ohne Probleme. Es gibt aber nur eine UART Firmware im aktuellen Lab
-
Thread
synchron / asynchron
an. >Die Schaltung läuft übrigens trotzdem schon, jetzt synchron und mit Jaja, genauso wie UARTS mit internen RC-Oszillatoren laufen etc. etc. Die Frage ist nur wie stabil und solide das ganze ist. >Quarz. Das ist mir aber noch nicht schnell genug, ich will also allesrausholen was nur geht
, wenn das Ausgangssignal umgeschaltet hat. (Ich hoffe, ich hab jetzt nicht in der Eile zu viele Fehler reingemacht...)
-
Thread
Audio-Projekt
ist das projekt so unattraktiv ? fehlen soviele informationen ? sagt doch mal was ...
ist dabei einer zu werden (und wie ich finde ein recht guter :-)). Kurzer Umriss : - 3 Oszillatoren - 2 Filter (seriell/parallel) - 2 LFO's - 2 Hüllkurven - Einspeisung eines externen Audio-Signals (wird zu den Oszis gemischt) - Modulationsmöglichkeiten (imm aufbau) - Delay (im aufbau
-
Thread
Das Mysterium CKOPT
Danke für diesen Fred und diesen Tipp! Habe erst Fehler in meinem Code gesucht (modifizerte UART-Buffer-Routinen von Peter Danegger), da es immer wieder zu spontanen Resets gekommen ist. Ein Hinweis noch den ich hier nicht so klar gefunden habe - findet
schreibt, ist das in die CKSEL Fuses gewandert -> in AVR-Studio musste ich statt "Ext. Crystal Oszillator" -> "Full Swing Cristal Oscillator" auswählen. Seitdem läuft UART stabil und selbst bei 115200 ist das AVR-Software-Loopback fehlerfrei. Danke!, Martin.
-
Thread
BASIC-Computer mit Mega32
der Codesammlung, das Testbild dort stammt vom 32-er Basic) einfach anschließen zu können. Da der interne Quarzoszillator dafür ungeeignet ist, synchronisiere ich den internen Oszillator auf den 16MHz-Ausgang vom CPLD um Jittereffekte ("Schwimmen" des Bildes) zu vermeiden. Stecke ich stattdessen ein Adapterkabel
port die videosignalgenerierung stattfindet? Soweit ich weiß haben doch die avrs portpins alle interne pullups die per software aktivierbar sind. und dann noch eine frage, warum sind an der parallel schnittstelle die vielen vorwiderstände R1-R8, wenn man doch jetzt zum beispiel den internen ad wandler
-
Thread
DS1820 an PIC16F630 - Softwareprobleme, ich verzweifle!
Hallo Henrik, ja die richtige Baudrate ist eingestellt: 9600, 8, N, 1 Als Quarz nehme ich den internen 4MHz Oszillator, der ja hinreichend genau sein dürfte (+- 1%). Für Hilfen wäre ich sehr dankbar. Gruß Jan
Carsten Steiner wrote: > Hallo, > ich hatte schon das Problem, dass der interne Quarz (3,9 MHz) nicht > genau genug war MCs mit internem Quarz gibt es nicht. Die haben nur nen RC-Oszillator drin und der ist eben nicht mit einem Quarz vergleichbar. Peter
-
Thread
stk500 led6 led7 an den PortC, PortB leuchtet nicht
Sehr richtig, ein "Profi" erkennt seine Fehler und lernt daraus. Kopf hoch und weitermachen.
TOSC2) PB7 also wie jetzt? gibts die ausgänge nun oder nicht? laut schaltbild ist ja der interne oszillator mit diesen pins verbunden, und offenbar werden auch externe schwingkreise hier angeschlossen. aber warum sind die dann mit PortB beschriftet, wenn sie eigentlich für die oszillatoren da
-
Thread
AT Befehle zum Handy senden
Wenn der Atmel ohne Quarz weiter funktioniert dann ist der interne Oszillator aktiv. Und der hat ab Werk 8MHz/8 = 1MHz Also Fuse Bits ändern.
, 10); uart_puts(buffer); } uart_putc('\r'); [/c]
-
Thread
rs232 mit mega8 funktioniert nicht :(
Wieder Einer, der vom ungenauen internen RC-Oszillator Wunder erwartet... Den Rest des Programms habe ich mir dann gar nicht mehr angesehen. ...
sein soll. Das gilt allerdings nur für Quarz, nicht für internen RC-Oszillator, dessen zulässige Abweichungen von der Nennfrequenz einfach zu hoch sind. Mit internem RC kann es (bei Zimmertemperatur) mal funktionieren, muss aber nicht. Das ist einfach Lotto...
-
Thread
Debug Modus
> baud = 3686400/(16*(23+1)); // see datasheed Für einen RC-Oszillator kannst du die Frequenz aber recht exakt angeben.
Problem: Bist Du sicher, daß Du eine Frequenz von 3,6 MHz hast? Soweit ich das sehe kann der interne nur 1, 2, 4 oder 8 MHz (+- 1%) abhängig von den eingestellten Fuses (Seite 39 im Datenblatt)
-
Thread
osccal
Ein exakter Wert ist nicht möglich, da der interne Oszillator von der Spannung und der Temperatur abgängig ist. Nimm also besser einen Quarz wenn du den UART verwendest.
Fürs anfängliche Debugging stehen die Chancen nicht schlecht, mit OSCCAL einen UART-tauglichen Takt hinzubekommen - man muss nur dran denken dass Fehler dann auch daher stammen können. Für Produktionseinsatz hingegen ist davon dringend abzuraten. Wie: Per Programmer den richtigen
-
Thread
Mega128 und Hardware-UART (Bascom)
ist denn jetzt der riesen Unterschied zum Mega128? Was ich probiert habe, ist, dass ich den internen Oszillator auf 1,2,..8 MHz gestellt habe (per fuse bits). Dann habe ich per toggle einen port geschaltet und kam mit externem 16Mhz Quarz auf maixmal 1,1Mhz am port (per toggle). Kommt mir langsam
Ok, jetzt geht auch der UART wunderbar, ich bedanke mich nochmal recht herzlich für die Hilfe!
-
Thread
Fusebits - tiny2313 mit 4 MHz Quarz
nicht brauchst, brauchst Du vermutlich auch keinen Quarz. Zeitunkritische Dinge gehen auch mit dem internen RC-Oszillator. Also lass die Finger von den Fuses bis Du etwas mehr Wissen hast. Du wärst nicht der erste, der sich ausgesperrt hat, bevor das erste Programm im AVR lief. > 3.) der FuseCalculator
http://de.wikipedia.org/wiki/UART
-
Thread
AVR mega32 uart empfang geht nicht
AVR im speziellen ist die Frage immer: Wie (temperatur)stabil ist das Ganze?. Und da scheidet der interne Oszillator schlicht und ergreifend aus. Siehe Datenblatt, das Ding schwankt gut und gern +/-3% im gesamten Temperatur- und Versorgungsspannungsbereich. Dazu kommt der prinzipbedingte Fehler bei der
Sibirien bis in die Sahara nachgebaut werden kann und auch läuft. Und gerade Anfänger tun gut daran, den UART erstmal nur mit Quarz zu betreiben. Und auch die Leute die wissen wie der Hase läuft werden selten in die Verlegenheit kommen, den UART mit internem Oszillator zu betreiben. MfG Falk
-
Thread
AVR: Wetterinformationen über DCF77 Gesperrt
besseren Lesbarkeit habe ich einige Blanks mit einfügen lassen. Was auffällt, ist, dass die meisten Fehler durch einen zusätzlichen Tick während der ersten 14 Bits kommen. Damit kommen evtl. viele Uhren nicht zurecht. Vielleicht rühren daher eure Fehler. Die Ticks sind allerdings nicht immer zur vollen
EM6580 z.B. würde dort so einigermassen reinpassen. Ist ein 4-Biter, super low power und rennt mit internem Oszillator (so wie ich das verstanden habe) mit bis zu 800 kHz. Gibt's als Maske und Flash. Dabei eine kleine Änderung: 1= data out 8=Vcc 2= data in 7= Vreg (mit C nach Ground) 3=
-
Thread
Real-Time Clock (ds1307)
beta version ohne viel schnick schnack. @Henrik Jahnke ich hoffe du kannst mir sagen ob der fehler bei dier auch auftritt um den fehler weiter einzugrenzen.
TWCR & (1 << TWINT))); if ((adr & 1) && ((TWSR & TW_STATUS) != TW_MR_SLA_ACK)) usart_txstr("Fehler beim Senden der Adresse"); if (!(adr & 1) && ((TWSR & TW_STATUS) != TW_MT_SLA_ACK)) usart_txstr("Fehler beim Senden der Adresse"); } void twi_writedata(uint8_t data) { TWDR=
-
Thread
LCD HLM8070
gut gestrafft bzw. entfernt. Somit ist nun das Display auch recht schnell anzusprechen (auch mit internem 1 MHz Takt). Im Anhang die bis auf die Timings unveränderte Originalquellen in einem AVR Studio Projekt. Ziel ATmega 32 mit internem 1 MHz Oszillator. Das Timing Bild ist mit im Archiv enthalten.
Dann bin ich wirklich ratlos. Ich habe es mit Quarz, ohne Quarz (interner OSC), mit Oszillator, etc ausprobiert und es klappt alles. Einzig JTAG beim Port D und Aktualisierung der Taktfrequenz in den Quellen waren Stolpersteine. Ich hatte auch alles auf einem Steckbrett
-
Thread
Uart gibt keine Wert aus
haben. Nur zwei Sachen - läuft der AVR sicher mit 4 MHz und weisst du, dass man mit dem ungenauen internen RC-Oszillator auch Pech bei der genauen Baudratengenerierung haben kann? Hast du einen Oszi zur Überwachung der TX-Leitung bzw. eine einfache Low-Current-LED inkl. Vorwiderstand, die eine Sendetätigkeit
> Fehler... Und höhere Baudraten dann später mit externem Quarz. Der interen RC-Oszillator ist für solide UART Kommunikation viel zu ungenau! Also gleich nen Quarz benutzten (FUSE-Bits), dann klappts auch
-
Thread
ATMega128 und UART1 Problem
Du musst den ATmega128 mit der Fuse auf externen Takt stellen, sonst läufst du auf dem internen Oszillator. Steht übrigens auch in der avr-libc-FAQ. ;-)
? Gruß, Magnetus P.S.: Ich such mal noch ein wenig weiter nach Fehlern... ;)
-
Thread
AVR-Tutorial: UART, nur Müll kommt an
beschrieben mit 22pF Kondensatoren angeschlossen. Als Programm verwende ich das erste Beispiel (uart-mega8.asm) von http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART Ich habe schon diverse Taktgeber Kombinationen versucht (externer Quarz, sowohl den internen 1Mhz und 4Mhz). Als Verbindung
vorstellen, wie die die Übertragung beeinflussen kann. D.h. Ich könnte mir schon was vorstellen: interner Oszillator als Taktgeber, aber der wurde ja explizit ausgeschlossen.
-
Thread
ATMEGA162 - UART will nicht...
letzten Threads in diesem Forum gewühlt... Im Beitrag "Fusebits bei Quarz" von wulf hieß es, dass bei Uart-Anwendungen der interne Oszillator nicht genau genug ist.. Stimmt das? Wie soll ich dann meinen Mega162 fusen, damit ich 'nen normal 4MHz Quarz zwischen XTAL1 und XTAL2 hängen kann? (Hab zwar noch 2
Hallo Waldemar, hab den Fehler gefunden, mit den Fuses hat alles gepasst, nur mit dem initialisieren der Uarts habe ich einen Fehler gemacht: statt: // 8 N 1 UCSR0C = (1<<URSEL0)|(1<<UCSZ10)|(1<<UCSZ00); UCSR1C = (1<