-
Thread
Software-UART (AVR304) empfängt nur Müll
MHz. Du kannst im Prinzip in die gleichen Probleme mit Baudratenerror kommen wie bei einer Hardware-UART, d.h. z.B. ungenauer, temperaturabhängiger interner RC-Oszillator... Da ich die Initialisierung des Timers und die Taktrate des µC nicht sehe, kann ich das aber nur raten. Zum Ausrechnen sehe
bei den folgenden 8 einzelnen Bits. Bei 9600 Baud dauert 1 Bit ca. 104 µs, d.h. du kannst einen Fehler von +- 6,5 µs verschmerzen, selbst wenn er sich über die 10 Bits aufsummiert. Das sind wuchtige +- 6,25 % Toleranz bzw. +- 4,8%, wenn man auf alle 10 Bits rechnet! Bei einer Hardware-UART sagt man
-
Thread
Mit 1MHz µC Takt und 19200Baud UART, geht das?
Mein Mega8 ist mit internem takt ausgestattet und der beträgt 1 MHz, im Datenblatt finde ich die Angabe leider nicht, ob ich noch in dem Toleranzbereich liege, oder ob ich mit 1MHz gar keine 19200 für die Uart realisieren kann
Wenn man schon den internen Oszillator verwenden will, dann geht natürlich auch 19200 bei 1MHz, so gut oder schlecht das mit dem internen überhaupt geht. Denn 7-8% Abweichung kann man über OSCCAL ausgleichen - sind dann halt
-
Thread
Probleme mit Variablen oder Timings
1; unsigned fUp:1; } flags; der punkt ist: auf dem mega16L im STK500 gehts jetzt (mit internem RC oszi). auf meinem ATmega8 hat sich nichts verändert, sowohl nicht mit externer clock als auch nicht mit internem oszillator. ich werd mal versuchen die uart implementation direkt von winavr
@ Martin Krellmann (mkrelli) >auf dem mega16L im STK500 gehts jetzt (mit internem RC oszi). Und UART? Naja. ABer das diskutiere ich nicht mehr. >auf meinem ATmega8 hat sich nichts verändert, sowohl nicht mit externer >clock als auch nicht mit internem oszillator. >Ich
-
Thread
HILFE DMX-Empfang mit ATmega8 und Hoelscher
Ist die Hardware denn in Ordnung? Schwingt der Quarz? Fuse-Bits in Ordnung (vielleicht ist der interne Oszillator noch aktiv)? Gruß Benedikt
Adresse bekommt geht alles > > in die Hose. Die rote Status LED blink auch doppelt was einen DMX Fehler signalisiert.
-
Thread
UART kann Daten nicht einlesen
...Codefetzen... Das ist kein vollständiges Programm. Mindestens main() und die Includes fehlen. Seitens der UART fehlt die Einstellung der Baudrate. > uint8_t uart_getc(void) Du liest hier bis zu fünfmal UDR direkt aus, und nur vor dem ersten Mal wartest du ob überhaupt ein Zeichen vorhanden
Baudraten debuggst. Keniff wrote: > also ubrr value wird über F_CPU berechnet. also über den internen quarz. > die frequenz steht bei 8MHz. Es gibt keinen internen Quarz beim ATmega16. Da ist nur ein Oszillator. Der ist für 9600 Baud im allgemeinen zu ungenau. Ein ständiges Thema beim Thema UART
-
Thread
Was bedeutet UART Frame Error genau?
Oder Du hast Dich tatsächlich bei der Baudrate verrechnet. 4Mhz und 9600 Baud ist kein Problem, der Fehler wäre nur 0.2%. Ich tippe mal auf ein falsch initialisiertes UART Controllregister.
Bei der Fleury-lib reicht doch: [c] #define UART_BAUD_RATE 9600 ... uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) ); [/c] zum initialisieren, oder? Ich glaube man muss 8 Datenbits, ein Stopbit, und keine Parität einstellen, und das ist
-
Thread
Atmega und hohe serielle Baud-Raten
Hi 8MHz Quartz oder interner Oszillator? MfG Spess
: UART]] Muss man halt umbauen auf 10fach Überabtastung, dann passt es wunderbar. MFG Falk
-
Thread
Steckbrett zu Platinenlayout, Nix geht
Läuft überhaupt der Oszillator? Generell sind bei Steckbrettern die Kapazitäten/Induktivitäten durch die langen Leitung/Steckbrettkontackte höher.
Fehler" wie sie dir jetzt passiert sind nicht so leicht vorkommen.
-
Thread
soc-lm32 tut nicht so richtig
uart_wait_tx; // send length uart_wait_tx; uart_send( 'h00 ); uart_wait_tx; uart_send( 'h00 ); uart_wait_tx; uart_send( 'h00 ); uart_wait_tx; uart_send( 'h04 ); #(tck*
uart_wait_tx; // send length uart_wait_tx; uart_send( 'h00 ); uart_wait_tx; uart_send( 'h00 ); uart_wait_tx; uart_send( 'h00 ); uart_wait_tx; uart_send( 'h04 ); #(tck
-
Thread
AVR für wenig Geld im LAN
@Holger Ich meine damit, daß bei einem Mega32, der frisch aus der Tüte ist der interne RC-Oszillator angewählt ist. Damit funktioniert gar nichts. Ich weiß leider nicht wie die Fuses bei Ponyprog gesetzt werden. (noch nicht) Gruß Dirk
von der Temperatur (1-Wire) Die Eingabe der Werte würde über das Webinterface erfolgen und/oder UART. Joachim Börke hat so etwas in seinem Webserver eingebaut, aber der lässt sich vorerst nicht einfach auf AVR-NET-IO übertragen, da keine ENC-Unterstützung und mein WinAVR Fehler beim Compilieren
-
Thread
Vergleich der µCs nach IO-Performance
>Welche µCs haben schnellere IO als ein mega mit 20MHz? Vielleicht auch >noch etwas Luft für interne Schiebereien... Wenn es WIRKLICH 13 Mbit/s sind, wird es eng mit "normalen" uCs. Da ist ein CPLD die bessere Wahl. MFg Falk
welche Signale du einlesen möchtest. I2S ist ebenfalls synchron, da eine Takt-Leitung vorhanden. UART wäre asynchron, FireWire und USB auch. Aber was genau willst du denn machen?
-
Thread
4" TFT für 7,97€
angesteuert, was zu den weißen Zeilen geführt hat. Als nächstes werde ich die Ansteuerung per UART fertig einbauen (da ist immer noch irgendwo ein Fehler), und eventuell eine höhere Schriftart suchen, da 8x12 auf diesem TFT doch irgendwie komisch aussieht. (Hat da jemand zufällig eine brauchbare
aber bedenkt man, dass zudem die Displaybeleuchtung recht dunkel wirkt, muss da noch ein kleiner Fehler stecken... Details details.......
-
Thread
Blutzucker-Messgerät Hardware OLED Display
ich hätte auch eine frage: hat der ATMEGA einen externen Quarz oder OSzillator, oder wird der interne benutzt. danke pcs
Eichhorn schrieb: > ich hätte auch eine frage: > > hat der ATMEGA einen externen Quarz oder OSzillator, oder wird der > interne benutzt. > > danke pcs intern
-
Thread
MSP430 Timing Probleme
Es fehlt die gesamte Initialisierung der Takterzeugung. Ohne die wird der MSP430 vom internen RC-Oszillator "DCO" mit einem Takt von irgendwas um 1 MHz versorgt. Du musst klären, was die Taktquelle sein soll DCO LFXT1 im NF- oder HF-Modus XT2 und entsprechend die Register
Dir 32 kHz zu sein, damit versorgst Du sowohl den Timer_A als auch den Baudratengenerator Deiner UART. Für MCLK und SMCLK verwendest Du hingegen den DCO. Und den ADC steuerst Du mit einem weiteren internen Oszillator, dem ADC12OSC an. Wenn der ADC-Takt, der Prozessortakt und der Timertakt nicht
-
Thread
Senden/Empfangen Problem mit ATtiny 2313 und FTDI FT232R
uint8_t in; DDRB |= 1 << 2; PORTB |= 0 << 2; DDRB |= 1 << 3; PORTB |= 1 << 3; uart_init(); // wait on key while(1) { in = uart_getc_wait(); if( in == 0x31) PORTB |= 0 << 3; uart_putc(in); } } [/c] Die LED's steuere ich im moment zu debugzwecken
Hi, Danke für die Infos, dachte ich kann den Internen Oszillator auch bei UART benutzen, vor allem da ich die Tests mit 300 Baud durchgeführt habe... Werde deine Vorschläge mal ausprobieren. mfg Andreas
-
Thread
Dimmer-Schaltplan Verständnis Problem
so alles richtig gemacht? Irgendwelche offensichtlichen Fehler?
der PLL (dazu gleich mehr) am Oszi verifiziert/debuggt habe. Eine Erkenntnis dabei war, das der interne Oszillator des uC zu viel jittert woraufhin ich dann einen uC mit externem Quarz vorgesehen hatte. Zur Funktionsweise der Nulldurchgangserkennung: Über den Pin PB2 (Originalplan) wird die Leerlaufspannung
-
Thread
Drehimpulsgeber spinnt
Wiederholungs-Indikator" damit ist der Fall des langsamen Drehens abgedeckt "Rechts Indikator" "Fehler Indikator" In deinem Fall wäre z.B. ein Fehler-Indikator bei mir gemeldet worden.. (unzulässige Code-Folge) meine Routine setzt daraufhin die Indikator-Zähler zurück und start neue Zähl-Periode.
kannst. Nun dass "ingenieurmässig denken" != "Hobbybastlerdenken" ist, ala "Bei mir läuft der UART auch mit RC-Oszillator stabil." ;-) MFg Falk
-
Thread
EEPROM Daten lesen Problem
des EEPROM liegt. Habe mal das EEPROM an nur einer Stelle ausgelesen (dort wo der Fehler war). Der Fehler war immer noch da. Also wird es wohl nicht am EEPROM lesen und Uart liegen. Folglich muss es wohl mit dem Schreiben zusammenliegen oder auch am Strobe-Signal. Habe die wichtigen
Welchen Oszillator benutzt du? Internen RC-Oszillator oder Quarz-Oszillator? Der interne RC-Oszillator ist sehr ungenau (stark spannungs- und temperaturabhängig) -> Unkorrekte Baudrate beim UART -> fehlerhafte
-
Thread
PIC C18 erkennt keine Variablen
ein Problem im folgenden Code: [c] #include <p18f2410.h> #pragma config OSC = INTIO67 // Interner Oszillator, Port function on RA6 u. RA7 #pragma config WDT = OFF // Watchdog Timer Off #pragma config PWRT = ON #pragma code // ********************************************************
in einer Schleife. Hab auch schon bei Google gesucht aber ich finde kein brauchbares Beispiel für UART für C18. [c] #include <p18f2410.h> #pragma config OSC = INTIO67 // Interner Oszillator, Port function on RA6 u. RA7 #pragma config WDT = OFF // Watchdog Timer Off #pragma config PWRT
-
Thread
Linux Uart AVR
Was gibt es für einen Grund so zu schicken uart_puts_P("Hallo Linux\n\0"); und nicht so uart_puts_P("Hallo Linux\n"); oder uart_puts_P("Hallo Linux\n\r"); ? Gruß Sven
: Sind die Fuses richtig gesetzt? Falls du da noch nix dran geändert hast, stehen die noch auf internen RC-Oszillator. -> Baudrate stimmt nicht. Gruß Roland
-
Thread
nach Takterhöhung an ATtiny25 nur noch Müll aus der Sotware Uart
meinst einfach einen ext. Quarz anschließen. Der int. Quarz erzeugt dann sicher mit der Software Uart tolerierbare Fehler bis zu den 1Mhz und darüber ist die Fehlerquote zu hoch und das schei... Timming gibt der Uart den Rest. Ich werde es direkt heute Abend testen. Vieleicht probiere ich das ganze
int. Quarz erzeugt... Ja, aber die 22p-Kondensatoren nicht vergessen. Der ATTiny hat keinen internen Quarz, sondern einen RC-Oszillator. Deswegen ist der ja so grottenschlecht. MfG Spess
-
Thread
UART Übertragungsproblem
Interner RC Oszillator? Sein nix gut für genaues RS232 Timing. Müssen kalibriert werden. Auf internen Takt-Teiler müssen Du achten auch. Besser gehen externer Baudraten-Quarz mit zwei Kondensatoren. Kost
Norgan: Auf so eine dumme Antwort kann ich auch verzichten!!! Und außerdem geht es auch mit dem internen Takt!!! Habe den Fehler gefunden.
-
Thread
Atmega Tod? nach flashen nur noch balken
Man nehme einen Quartz*oszillator* und lege dessen Ausgang an XTAL1.
------------------------------ Tast1: Incr D 'zählt die internen Tastendrücke Txt = EepromLesen(64 , 79) 'holt Text vom EEProm (stand) Lowerline : Lcd Txt Print "S1: " ; Txt ; " z:" ; D 'Ausgabe über UART (TXD) V6 = Not V6
-
Thread
Erster Aufbau - AVR Schaltung
den AVR auch vom internen Oszillator (kein Quarz --> nicht so furchtbar frequenzgenau) takten lassen. Das ist auch die Fuse-Konfiguration im Auslieferungszustand. Einen Quarz brauchst Du z. B. für den UART (zeitkritisch)
reset-beschaltung fehlt, vorwiderstände für leds fehlen, taster haben keinen pulldown, oder sollen nach masse schalten, da der atmel interne pullups hat. junctions fehlen.
-
Thread
Anfänger will sich ein Mikrocontroller Board selbst bauen, bevorzugt mit ARM7
dafür erstmal ein kleines Programm machen, das die RS232-Schnittstelle initialisiert und dann über UART auf eingehende Daten wartet und diese in den Internen Flash schreibt. Das ganze nennt sich dann Bootloader. Da gibts auch schon einige fertige. Aber was ist daran so schlimm nen uC mit einem ISP-Kabel
wenn ein genaues Timing eingehalten werden muß (z.B. UART) oder die 8MHz des internen Oszillators nicht ausreichen. Die Pullups an den Tastern sind eigentlich unnötig. Nur wenn die Leitungen etwas länger werden können und Störungen durch Einstreuungen
-
Thread
Projekt : GPS Tracker
Ich bin ein wenig weiter mit meinem Problem. Ich habe nun die eingehenden Zeichen (uart_getc()) noch auf die Fehler überprüft, die möglich sein können und das Ergebnis der Überprüfung dann auf die SD Karte geloggt. Es stellt sich heraus, dass ein Buffer Overflow stattfindet. Trotzdem
Vcc (also 3,3V). In der Software steht: ADMUX |= (1<<REFS1) | (1<<REFS0); Es wird also die interne Referenz (2,56V) eingestellt. Das ist doich ein Fehler oder? Wenn man die 3,3V als Referenz benutzen will muss doch auch auf externe Referenz eingestellt werden oder? Also REFS1 und REFS0 beide
-
Thread
suche vergleichbaren typ pic16f84 aus der 18er reihe
18pins interner oszi 1 uart oder auch 2 umso mehr enthalten umso besser schau mir den mal an. whitenoise
von reg nach reg, der ja wiederum 2 takte zu brauchen schéint wenn ich recht gesehen habe und der internen pll) - enlich ist der RW fehler der alten pic reihe ausgeschaltet, dieser hatte mir in der vergangenen zeit viel ärger beschert, gerade im aufbau von charlieplexinganzeigen, wo man dann ohne externe
-
Thread
Experimentieren mit Microcontrollern - zur Praxis!
du gleich zwei Controller (ATmega8 Derivat, ATmega16), Programmieradapter, acht Taster, acht LEDs, UART rausgeführt, externer Oszillator und haufenweise GPIO's auf nutzerfreundlichen Stiftleisten.
nachzulesen in welchen Sockel man seinen AVR nun eigentlich stecken darf, und wie die Sache mit dem internen Oszillator, dem externen Oszillator oder einem externen Quarz funktioniert und welche Kabel und Jumper für diese und weitere Funktionen, (RS232, LEDs, Taster), an welcher Stelle um- oder eingesteckt
-
Thread
Timer genaue Zeit und entprellen
>internen vom STK500 8Mhz Der interne "Quarz" ist ein Oszillator, der mit 3,686 MHz läuft. Aus dem STK-500-Userguide: "The frequency of the software generated clock can be set from 0 to 3.68Mhz. The default
> ../uhr.c:130: warning: passing arg 1 of `uart_puts' makes pointer from > integer without a cast uart_puts erwartet einen Zeiger (auf den Anfang eines Arrays aus char). Stattdessen übergibst du ihm einen unsigned char. Das paßt überhaupt nicht
-
Thread
G-LCD bei Pollin
: >>CS PORTB_7 >>A0 PORTB_6 > das wäre eigentlich xtal trotzdem richtig? Ja. Takt ist interner 8MHz Oszillator. >>RD liegt an 5V. > > was mach ich mit RES\ vom S1D13305 5V oder an einem RC Glied 10k gegen 5V, 100nF gegen GND als Power On Reset.
Hi, und so endet das, wenn man nie aufgibt. @Benedikt Du hast ein Fehler in Deiner Zeichnung (GLCD-Anschlüsse) drin. Wigbert
-
Thread
Geschwindigkeit UART ATMEGA128P
Habe gesehen das es hier viele helle Köpfe hat :-) Daher einige Kontrollfragen zum Thema UART. Angenommen ich habe 75 ATMEGA128P. Der Erste ist via UART mit dem Zweiten verbunden, diese über die 2te UART mit dem Dritten, usw... Wenn ich die UART nun auf 115kBaut einstelle (damit ich diese
zwischen 2 Rechnern schon stabil 35m gehabt, bei 57600 gab es dann gehäuft Übertragungsfehler. Zum internen Oszillator wurde schon alles gesagt. Quarze ran, Baudratenquarz, z.B. 14,7456MHz. Gruß aus Berlin Michael
-
Thread
AVR Atmega32 CKOPT
mit einem Atmega rumgespielt und soweit hat das Programmieren auch ganz gut funktioniert (immer interner Oszillator). Nun wollte ich den Atmega mit einem 16 MHz Quarz takten (UART). Deshalb habe ich alle CKSEL Bits zurückgesetzt (in Ponyprog die Hacken entfernt). Danach konnte ich nicht mehr per ISP
Vermutlich hast du CKOPT nun ausgeschaltet und dadurch geht der Oszillator mit dieser Frequenz nicht mehr. Probiere mal, einen kleineren Quarz (3,686 MHz oder 7,37 MHz) zu benutzen.
-
Thread
Probleme RS232
Hatte auch mal einen Fehler bei den Kond. das sah dann auch so aus.
Und der AVR läuft auch damit, oder vielleicht doch noch mit dem internen RC-Oszillator? Fuses checken!
-
Thread
Atmega162 Baudrate Problem
Hallo. Mein ATmega162 soll eigentlich bei 9600 Baud Zeichen auf der UART-Schnittstelle ausgeben. Beim Hyperterminal muss man jedoch 19200 Baud einstellen, damit was ankommt. Der AVR wird mit dem internen Oszillator bei 4MHz betrieben. Wer hat noch einen Tipp für mich
>Der AVR wird mit dem internen Oszillator bei 4MHz betrieben. Nimm besser einen Quarz. >Wer hat noch einen Tipp für mich? Lies das Datenblatt und stell die Baudrate richtig ein.
-
Thread
AVR - USART RX via Interrupt, funktioniert nicht
Läuft der AVR auch _wirklich_ mit dem *externen Quarz*, oder arbeitet er evtl. noch mit dem internen RC-Oszillator? Gruß, Magnetus
ist nicht leicht zu blinke leds zurueck zu kehren > wenn man bereits dabei zeichenketten durch den UART > zu jagen :) Doch -- aber wenn die UART-Kommunikation erst einmal klappt, dann machst Du die Fehlersuche, indem Du den uC Zeichenketten via UART ausgeben lässt. Damit ist dann das "Blinke-LED-Stadium
-
Thread
Baudrate Mega128L 4Mhz intern geht 8Mhz intern nicht
Der interne Taktgeber (R/C, kein Quarz!)ist per Fabrik auf 10% genau. Für ein UART darf die Fehlerrate nur maximal 2% betragen. Man kann den internen Taktgeber auf 1% genau kalibrieren, diese Genauigkeit ist
alternativer keramischer Resonator wäre kaum billiger. Es ist somit doch völlig unsinnig, mit dem internen RC-Oszillator seine Zeit zu verplempern, sobald man den UART verwenden möchte. Auch irgendwelche sogenannten Baudratenquarze einzusetzen, ist doch Schnee von gestern. Ein Blick in die Baudratentabelle
-
Thread
Mein erstes C-Programm - Wie funktioniert es ?
messe ca 500ms eher ein > bisschen mehr so 510ms aber dat is ja wurscht Falls du mit dem R/C-Oszillator arbeitest, könnte das durch dessen Ungenauigkeit kommen. Ansonsten: Optimierungen nicht an?
LED-leuchtet/LED-leuchtet-nicht nicht wirklich gut nachvollziehen kann, was da abgeht bzw. wo der Fehler steckt. Das geht auf einem PC erst mal um Größenordnungen besser.
-
Thread
Wittig(welec) Oszilloskop firmware problem
unvollständig, da ich den Upüload abgebrochen habe (sieht lustig aus...). Insbesondere die Bitmaps fehlen anscheinend. Gruß Hayo
gesichtet. Mir sind auf den ersten Blick keine Unterschiede aufgefallen. Es gibt immer noch die gleichen Fehler. Gruß Hayo
-
Thread
UART receive data
Hallo ihr, kann mir mal einer helfen bei der UART programmierung. (AT90S2313) ich möchte mit dem UART von einem anderen avr daten empfangen. Diese sollen per interrupt, ausgewertet werden. Nur leider springt der processor die int routine nicht an
Hi Eine Datenübertragung mit dem Oszillator vom STK500 kannst du knicken. die Genauigkeit reicht um eine Led Blinken zu lassen, mehr aber auch nicht. Der UART-Interrupt wird erst ausgelöst wenn ein Datenbyte incl. Start- und Stopbit vollständig
-
Thread
AVR-Bootloader mit Verschlüsselung
internem RC Oszillator + PLL laufen, sind dann 16MHz. Den ATMega128 mit externem Quarz bei 15.97MHz. @Peter, ich habe noch mal in das ATmega168 Datenblatt geschaut und ich meine das ich keinen Fehler
Ja, bei 1-Wire und UseUartInvert=0 ist der interne Pullp aktiv. Bei 1-Wire mit UseUartInvert=1 ist er nicht drinne. Das hat tatsächlich Gründe in der Codegröße und dem Timing. Du kannst versuchen ihn am Anfang des Bootloaders
-
Thread
Welches Quarz verwenden?
halt schneller als mit 1MHz. Wenn du einen Atmega oder ähnlich verwendest kannst du auch mit dem internen Oszillator arbeiten. Das ganze ist hier eigentlich recht gut erklärt wenn du die Einführung durchmachst Gruß Horst
ist das nicht, Software kann man an beliebige Taktfrequenzen anpassen. Einzige Ausnahme ist die UART, da kann der Fehler zu hoch werden. 3,6864MHz ist eine gute Wahl für die UART, dann kriegt man genaue Baudraten. Peter
-
Thread
Wie groß ist clk_I/O-Frequenz
jungfräulichen Auslieferungszustand, er weiss also nichts davon und taktet brav mit unkalibrierten 1MHz des internen R/C-Oszillators.
Kannst ja mal was anderes testen: Einen Strom von 0x55 per UART senden und mit dem Oszi anschauen. Kommt direkt die Bitrate dabei raus (genauer: die Bitrate ist die doppelte der angezeigten Frequenz).
-
Thread
?UART mit 3.579M Quartz am Mega8 bei 19200 Bauds?
Hi >der Mega8 hat einen double-speed-mode :-) Da liegt der Fehler bei 1,3%. MfG Spess
schnell vergessen. Einen Quarzoszillator (als Bauteil) der mehrere Komponenten versorgt: JA. Zwei interne Oszillatoren an einen Quarz: NEIN. Einige neuere AVRs können die Oszillatorfrequenz an einem Pin ausgeben, das wäre evtl. eine Alternative. MfG Spess