-
Thread
Taktfrequenz messen
Hi! Ich habe einen Mega128 extern mit 8Mhz getaktet, weil ich dem internen Takt nicht getraut habe. Leider konnte ich die Masse Cs nicht mit anlöten, weil mir die Pins bei einem früheren Problem mit dem Oszillator "abhanden" gekommen sind. Somit fehlt mir nun die Masseanbindung, um ein Signal messen zu können. Der Oszillator scheint zu schwingen, weil die Fuses auf ext. gesetzt sind und ich noch immer programmiern kann, aber ich traue dem Takt nicht über den Weg. (Problem mit der UART) Gibt es einen Weg den Takt trotzdem
-
Thread
wie mega32 auf externen oszillator schalten?
ich habe die asm datein hier von dem uart tutorial genommen. also 9600 baud. noch eine frage: wenn jetzt schon etwas beim terminal ankommt, kann man dann einen hardware fehler ausschließen? also dass ich die max232 schaltung richtig aufgebaut
External RC Oscillator = Wiederstand + Kondensator (sehr ungenau) Calibrated Internal RC Oscillator = Interner Takt External Clock = Externer Takt / Oszillator Steht aber auch im Datenblatt sogar mit Anschlußbild etc.
-
Thread
UART liefert Mist...
Deinen Code näher angeschaut zu haben Folgende Dinge: Läuft der uC mit externem Quarz oder mit internem RC-Oszillator? Für Komunikation über die serielle solltest du eine Quarz verwenden. Der interne RC-Oszillator ist dafür zu ungenau. Was das (1<<URSEL)|(3<<UCSZ0) angeht: also in C ist das << ein
haste vergessen: .equ UBRRVAL = ????????????? Das Problem ist der Takt. Ich verwende auch den Internen Oszillator und kommt halt auf die Baudrate an, wie gut der ist. Bei 1MHz ist halt maximal 4k8 möglich und bei 8Mhz kannste noch 38k4 nehmen. Aber nur Vermutungen... gib uns Takt, Baudrate
-
Thread
Honeywell Rondostat HR20E per AVR steuern und konfigurieren
niedrigerem Takt, hier wohl > 32kHz?). Ne, der läuft mit ziemlicher Sicherheit auf 1MHz mit dem internen RC Oszillator. Der 32kHz Quarz ist der Uhrenquarz. > Bin sehr daran interssiert die Thermostaten selber steuern zukönnen. > Hab bei der letzten Renovierung einen Haufen an Kabel verlegt und
Hallo Dario, > Ne, der läuft mit ziemlicher Sicherheit auf 1MHz mit dem internen RC > Oszillator. Der 32kHz Quarz ist der Uhrenquarz. Könnte sein aber bei 32kHz währe der Stromverbrauch am niedrigsten und die Speed müsste für diese Anwendung noch ausreichen. Eng könnte es
-
Thread
Taktgeber wie z.B. SG3032
dallas hat auch welche, aber wieso nimmst du nicht einfach ein uhrenquarz und baust einen oszillator mit logischen gatern? geht ganz schnell und billig...
ausschalten." Warum denn ? Laß ihn doch einfach durchlaufen. 32768 / 27 = 1213 Baud. 1% Fehler kann die UART ab. Peter
-
Thread
mega8 uart
ich vorgenommen hatte wunderbar(PWM und so weiter.)Das ist ja das seltsame. Alles klappt mit dem internem ,nur das uart nicht. gruss andy
Der Mega8 läuft ab Werk mit dem internen 1MHz Oszillator. Das ist aber nicht der einzige Takt, den der interne Oszillator beherrscht. Man kann ihn auch auf 2, 4 oder 8MHz einstellen. Details gibts im Datenblatt unter System Clock und Clock
-
Thread
Zeichendarstellung im Monitor
mit 80%-iger Wahrscheinlichkeit läuft der Mega mit internem Oszillator. Kontrollier mal die Fusebits. Als ersten Test könntest du auch den Quarz auslöten, wenn immer noch Zeichen kommen liegt obiger Fehler vor. Eine andere Möglichkeit wäre die Baudrate auf
Sieht deine Initialisierung so aus ? // UART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // UART Receiver: On // UART Transmitter: On // UART Baud rate: 9600 UCR=0x98; UBRR=0x19; ACSR=0x80; UDR = 'S'; //'
-
Thread
Yaap & ATmega8
Der ATmega8 wird mit aktiviertem internen 1MHz Oszillator ausgeliefert, d. h. du solltest KEINE externen Taktquellen anschließen. Ich hoffe, du hast das beachtet !?! Thorsten
aber laut Aufbau ist doch der 4MHz Takt angeschlossen. Und zwar wird der doch für das Bsp. mit dem UART benötigt. Oder müsste man erst diese Fuse-Bits setzen (von denen ich noch keine Ahnung habe) bevor man den externen Takt nutzen kann???
-
Thread
2MB DRAM an AVR Gesperrt
bis Adresse 128 bytes in den speicher schreiben und diese dann direkt danach von 0 bis 128 übers UART ausgeben. Das ist als testfunktion gedacht und ist auch von Benedikt übernommen (bis auf das er einfach überprüft hat, ob sie gleich sind und ich eben sie per uart rauspumpe). Weiterhin läuft der
Hi, danke, habe den Fehler endlich gefunden, die Masseverbindung zum Ram war wohl zu hochohmig, jedenfalls läufts jetzt mit einer zusätzlichen Masseleitung... Super Code!!
-
Thread
ATmega8 Fuses?
? Und zu guter letzt... wie "genau" ist der interne Oscillator? Ich möchte gerne ADC Wandlung und die UART Funktion nutzen. Ist dies ohne weitere ok oder würdet ihr generell einen Externen Quarz empfehlen? Gruß AVRli...
Startuptime setzt du einfach gemäß der Tabelle im Datenblatt, da sollte es keine Probleme geben. Der interne Oszillator, nur der ist so genau, wie's im Datenblatt steht :) Ich habe damit schon den UART bei 38400 Baud zum funktionieren bekommen - ohne augenscheinliche Übertragungsfehler. Wichtig ist allerdings
-
Thread
ATTiny10/11/12
vor allem wenn man ein print auf einem avr benutzt der überhaupt kein uart hat. das zeigt doch recht schon, dass da grundlagen fehlen. deshalb mag ich bascom nicht. das abstrahiert die hardware zu sehr mit den ganzen fertigen routinen, so dass man keine ahnung mehr hat was
@markus wie erklärst du dann das das wohl das problem war? ich kann nur vermuten, dass der sw uart wohl erst initialisert werden muss und der standardmässig versucht den hw uart zu nehmen. und das schlug wohl fehl
-
Thread
RS232 an UART
Läuft dein AVR mit internem Oszillator ? Evtl. ist dann der Fehler zu groß.
geschaut ? Z. B. beim ATmega16 Seite 162, Tabelle 68 ? Alles größer 4800 Baud @ 1MHz produziert Fehler > +- 7%. Das kann nicht funktionieren !! Für eine fehlerfreie RS232-Übertragung muß der Fehler deutlich unter 1% liegen. Wenn du allerdings den Oszillator auf 8MHz stellst, sind 38k4 Baud problemlos
-
Thread
Atmega8 lässt sich programmieren-jedoch tut sich nichts!
Programmieren praktisch nur an den minimal benötigten Pins (ok XTAL könnte man weglassen und den internen Takt verwenden) beschalten ist. MFG Markus
Ich verwende einen Quarzoszillator und außerdem habe ich jetzt mal auf den internen Takt umgeschalten um eben einen Fehler des externen Taktes auszuschließen
-
Thread
ATmega16 - UART
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
-
Thread
AT89C51SND1C
ist es ein grober fehler wenn man nicht genau 27 Ohm nimmt sondern 22 Ohm ?
Schaltplan interessieren, wie du das gemacht hast. Vielleicht entdecke ich dabei bei mir noch einen Fehler.
-
Thread
Programm läuft mit ATMEGA8, nicht jedoch mit AT90S4433
Quellcode ( bis auf MCU = xy in dem makefile) absolut nichts geändert, der Compiler (gcc) gibt mir weder Fehler noch Warnungen aus, auch eine Kontroll LED, die der MCU zum testen ein und ausschalten sollte, verhielt sich wie erwartet. Der MEGA8 läuft mit dem internen Oszillator mit 8 MHZ, der 90S4433 mit einem
compiliertes Programm (keine Interrupts, keine Verwendung von "spezila Hardware" wie Timern oder UART) auch in einem MEGA8 fehlerfrei läuft (umgekehrt würde es wegen dem erweitertem Befehlssatz des MEGA8 selbstverständlich nicht gehen).
-
Thread
AVR Butterfly Taktfrequenz
Von 1 MHz würde ich ohne Studium der Butterfly-Doku auch erstmal ausgehen -- das wäre nämlich der interne RC-Oszillator. Einen Quarz hat er meines Wissens bestenfalls für die RTC (32 kHz).
Ja, eine gewissen Kalibrierung braucht's schon, um die 0,2 % einzuhalten. Der interne RC-Oszillator wird im Auslieferungszustand so kalibriert (Voreinstellwert des OSCCAL-Registers), daß er bei 5 V Ucc die 1 MHz recht genau einhält (genau genug für eine RS-232 auf jeden Fall). Leider
-
Thread
int RC-Oscillator kalibrieren ohne Stk500
Wenn man die UART benötigt, muß man immer einen externen Quarz anschließen, sonst hat man keine Zuverlässigkeit. Rein theoretisch kann man auch den internen RC-Oszillator durch einen externen Quarz nachkalibrieren
Toleranzbereich. Dabei zeigte sich, eben auch bei unterschiedlichen Temperaturen des AVR's, das der interne RC Oszillator garnicht mal so schlecht ist, nachdem man ihn kalibiriert hatte. In meinem Projekt besteht die Möglichkeit über ein Menu manuell nachzu kalibrieren. Da der UART des Projektes nur
-
Thread
Warum kann der Murks nicht einfach funzen?
; zurück zum Hauptprogramm Ich ging implizit davon aus, daß es nur ein UART gibt und das verschiedene Kontroll-Register dafür sind. Ich meine: ein Fehler im Tutorial, das hätte doch längst jemand bemerkt? Ich schau gleich mal ins Datenblatt vom ATMega8 rein. Das würde natürlich
Das merkwürdige ist halt, dass man normalerweise den internen RC-Oszillator nicht als Zeitbasis für den UART nehmen kann, weil er eben ungenau ist und keine Frequenzkonstanz hat. Laut Datenblatt passt ein 4MHz Quarz auch für 9600 Baud. Kannst einen anderen
-
Thread
Baudraten bei 12Mhz
brauchst. Bei Deinem Problem kannste vielleicht über die Anzahl der Stopp-Bits verhindern daß ein Fehler erzeugt wird (Framingerror, Parity-Error). Aber nur wenn der Baudrate-Fehler kleiner als 1 Baudrate-Takt - bezogen auf die Übertragung eines Zeichens - ist, kann man mit dem Fehler leben. Eine Software-Korrektur oder wie auch immer ist mir nicht bekannt, da man die internen UART-Abläufe nicht beeinflussen kann. Gerhard
-
Thread
Netzwerkkarte mit RTL8019
wissens intern nur 1MHz. Die 8 steht für den Speicher, nämlich 8kB. Soweit ich gehört habe ist der interne Oszillator auch sehr instabil und das UART läuft damit nur auf 2400 BAUD o.ä. (müsste im Source angepasst werden). Du solltest also auf jeden Fall einen externen Oszillator anschließen, mit 8 oder
entschuldige die Fehlangabe... hatte übersehen dass man den internen Takt verändern kann, dennoch steht die 8 für den internen Flash Speicher. Wieauchimmer, noch ein unerwünschter Tipp von einem Atmega32 Benutzer: Die Funktion des UART (nämlich die Baudrate) hängt
-
Thread
RS232 Schnittstelle mit Bascom
16MHz? (typisches Problem wenn man Code kopiert) Wird der Quarz auch benutzt und nicht etwa der interne Oszillator mit (Default: ) 1MHz. Kann man einfach testen: $Crystal-Zeile auf 1MHz stellen. Wozu dient das Printbin? Vielleicht verwirrt das ja das Hyperterm. Markus
Das Problem am internen Oszillator ist, daß er nicht temperaturstabil ist. D.h., selbst wenn es jetzt läuft, dann kann es gut sein, daß es an einem heißen Sommertag nicht mehr läuft. Markus
-
Thread
DS1820, DS18B20 in C
Hallo, ich versuche gerade das Programm auf einen ATMEGA32 mit einem internen Takt von 1 MHz laufen zu lassen. Jedoch erhalte ich immer einen Bus Fehler... Was ich nicht blicke ist, das wenn ich die CPU auf 8 MHz am kaufen habe klappts. Wenn ich aber die Fuse Bitas auf
eine Anfängerfrage : Da ich erst alles löten muss bevor ich loslegen kann mit dem LCD + DS1820 fehlen mir noch die Pins für Uart, DS1820 und LCD. Welche Ports werden benötigt? Ich werde das ganze mit einem ATMEGA8 bauen. Grüße und Danke Sebastian aus Stuttgart
-
Thread
Display Nokia 6110 Gesperrt
an den ATmega8L drankriege (beim DIP) da ja dort der RTC Quarz angeschlossen ist musste ich den internen RC Oszillator nehmen. Den kalibriere ich mit Hilfe des RTC Quarz auf 8064000Hz, also ganz ganz leicht overtuned. Allerdings eben weit besser geeignet für den UART Baudrate Divider. Ich hatte am Anfang
von Hause aus bei 5V auf 8Mhz justiert. Der Unterschied bei 3.1 Volt war gewaltig, aus Sicht des UART, statt OSCCAL 0xA0 wird jetzt 0xB0 benutzt. Nunmehr arbeitet der UART aber absolut in seiner 2% Grenzen perfekt. D.h. ich habe auf PC Seite eine Software die mit krummen Baudraten arbeiten kann und
-
Thread
Extra Oszillator schalten?
Hallo! Der interne Oszillator kann nicht alle Frequenzen 'erstellen' und ist leider auch relativ ungenau / temperaturabhängig. Für Aufgaben, in denen exaktes Timing notwendig ist (z.B. UART, RTC) ist der interne Oscillatopr
Ich hab' mal gelesen, dass das UART mit dem internen Oszillator nur keine hohen Datenraten erlaubt. Weis einer die Toleranzwerte des Internen Oszillators?
-
Thread
LC Display
Zeig doch mal den kompletten Code. Wie schnell läuft der interne Generator? Evtl. dauert es nur seeeehhhr lange mit dem internen Takt, weil die Zeitschleifen länger brauchen. Extern mit 4MHz geht das recht flott. Hab ich selber letzte Woche erst nachgebaut ;
Stunde oder so. Der komplette Code ist der aus dem Tutorial (im LCD Bereich) von dieser Seite. Der interne Oszillator läuft mit 1 MHz, aber wenn mit 4 MHz das ganz fix ist, sollte sich mit dem 1 MHz ja zumindest überhaupt was tun.
-
Thread
Fernbedien RC5 Empfänger
bevor ich in die Gummizelle muss ?!?!" Was hast Du denn für einen Quarz ? Ist etwa noch der interne RC aktiv ? Kannst Du irgendwas über die UART ausgeben ? Der häufigste Fehler ist, daß die FB keinen RC5-Code sendet. Peter
für die rasche Antwort. System Clock war zunächst 4.0 MHz intern, hab dann, weil ich dachte die interne Clock ist zu langsam/ungenau, einen externen 7,3728 MHz drangehängt. Uart steht zur Verfügung und wird fleißig zum debuggen benutzt (somit stimmt auch die Clock). "Der häufigste Fehler ist, daß
-
Thread
Atmega16
Hi, standartmäßig ist beim Atmel der interne Oszillator eingeschaltet. -> Funktioniert trotzdem & langsamer. Gruß Oliver
Goto Anfang wenn ich übrigens die remarks bei den config .... weglasse spuckt der compiler nen fehler aus : "can't find hw-register"... Nik
-
Thread
Die genaue Sekunde / RTC Gesperrt
eine angezeigte Sekunde zwei Sekunden oder null Sekunden; das kann auch Fehler verursachen.
Bekommst du noch irgendwelche Warnungen/Fehler beim Compilieren? Sind die Fuses richtig gesetzt?
-
Thread
AVR Bootloader
endlich den Bootloader hinbekommen. Leider hatte ich ein paar Probleme. Ich benutze den Mega8 mit internen RC Oszillator (4Mhz) unkalibiert. pboot.exe habe ich mit folgenden Commands gestartet: /B9600 /C1 /Pmain.hex Unter diesen Voraussetzungen hat er keinen Com Teilnehmer gefunden. Ich hab zum
@Frank, sorry, hatte bisher keine Zeit dem Fehler nachzugehen. Peter
-
Thread
Programmer incl. neuem Code für Atmel AN910
habe gerade festgestellt, daß der Programmer den AT90S1200-4SI nicht programmieren kann, wenn der interne RC-Oszillator (1MHz) aktiviert ist. Kann das zufällig jmd. bestätigen ? Thorsten
tritt in beiden Versionen bei mir auf. Bin ich einfach nur zu blind oder mache ich einen anderen Fehler? Carsten
-
Thread
USART mit ATMega16
www.mikrocontroller.net/tutorial/io-basics.htm <--snip--> Beim 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
führen, daß der Controller nicht mehr über ISP programmierbar ist. Übrigens noch am Rande: der interne Oszillator ist eigentlich genau genug, um kleinere Baudraten (9600) zu realisieren. Hab selbst ein Gerät mit nem Mega16 bei internem 8 MHz-Oszillator laufen und selbst 38400 Baud sind bisher möglich
-
Thread
UART Probleme
müsste dann wohl heisen das der interne Quarz den UART steuert.
Der interne Oszillator ist nicht genau genug, jedenfalls nicht ohne Kalibrierung. Stell am besten auf den externen Quarz um: http://www.mikrocontroller.net/tutorial/io-basics.htm
-
Thread
AVR oder MSP430
beim MSP430 außerdem, dass man nicht mit Fuse-Bits hantieren muss, sondern Dinge wie Watchdog und Oszillator zur Laufzeit in IO-Registern ändern kann.
. Aber der ATMEGA8 hat ja 6 Timer (T0, T1, T2, ADC, I2C, UART), so daß dort nie ein Mangel auftreten wird. Die UART mit 3 Byte Empfangspuffer sollte auch der härtesten Echtzeit standhalten. Lediglich das SPI ohne 2. Sendepuffer macht es schwierig, als Slave
-
Thread
Probleme mit UART
nebenbei: Man sollte auch die Fuse- bits checken.Der Takt muss vom Quarz kommen und nicht vom internen Oszillator. Sonst macht jedes Uart Macken. Prüfen kannst du das, indem du einfach mal den Quarz abklemmst und dir zB. über eine LED anschaust, ob der Prozi noch läuft. Sollte er natürlich dann
Woher kommt denn die Weisheit das der Takt vom Quarz kommen muss und nicht vom internen Oszillator? Ich habe in einigen Schaltungen gar keinen Quarz drinnen, verwende die UART und das funktioniert ohne die geringsten Probleme!
-
Thread
AVR Tiny 26?
Tiny26 als Durchflußmesser. Geht ohne Probleme, da ich nur 5% Meßgenauigkeit brauche. Für eine UART empfiehlt Atmel jedoch einen externen Takt, da dann schon Fehler von 2% die Übertragungssicherheit stark verschlechtern. Für den RC5 reicht auch der interne Takt, da ja auf jedes Bit neu synchronisiert
Fragen nicht, aber noch ein Hinweis: Zusätzlich kann der interne Oszillator, via PLL, den Tiny26 auch mit 16MHz takten.
-
Thread
8051 Entwicklungsboard
Geht nur mit µC die per Bootloader über UART sich ISProgrammieren lassen. P.S. Hab ich es schön formuliert?
also ich hab meinen fehler gefunden. hatte meine schalter vertauscht resat war bei mir PSEn und andersrum.
-
Thread
Mega8 - internal Oscillator - XTAL1/2 Pins
Wenn der interne R/C Oszillator genutzt wird können PB6 und PB7 für I/O verwendet werden. Die Stabilität des internen R/C Oszillator ist für seriellen Kommunikation ausreichend. Hier kommt es allerdings auf die Baudrate
hi mikki, Danke für Deine Antwort! :-) >Wenn der interne R/C Oszillator genutzt wird können PB6 und PB7 für I/O verwendet werden hasr Du das schon getestet ? >Die Stabilität des internen R/C Oszillator ist für seriellen Kommunikation ausreichend. >
-
Thread
MSP430F449: UART0 funzt nicht!!!
Wenn ich mich nicht irre ist standardmäßig der interne Oszillator aktiviert; ändern kann man das zur Laufzeit in irgendwelchen Registern. Einen kostenlosen, uneingeschränkten Compiler mit Windows-Oberfläche gibt es nicht.
zuerst im 449 die FLL initial.: InitFll(TRUE,108,1); Damit läuft dann SMCLK mit 7.1434 MHz Dann Uart initial.: /******************************************************* Initialisieren der USART0 Eingestellt wird UART-Mode ********************************************************/ USHORT InitUARTPhysical
-
Thread
Manchester Code - wer kann mir mal helfen?
return; old_ct0 = TCNT0; Eine genauen Timer braucht man also nicht. Du kannst sogar AVRs mit internem RC-Oszillator nehmen. Peter
wechselt, also ich meine nach dem überlauf fängt er ja wieder bei null an. Dadurch gibts doch einen Fehler bei current_t=TCNT0-last_t; // Timer merken oder sehe ich da was falsch? mfg mathias
-
Thread
USART vom ATmega128 will nicht...
umprogrammiert, das der externe Quarz auch verwendet wird? Im Lieferzustand läuft der mit einem internen Oszillator mit ca 1MHz. Da kannst Du lange rumexperimentieren.
include <io.h> #include <interrupt.h> #include <sig-avr.h> unsigned char recval; SIGNAL(SIG_UART1_TRANS) { /* character of string to uart */ outp(100, UDR1); //sendet 100 zur USART } SIGNAL(SIG_UART1_RECV) { recval = inp (UDR1); /* read data from uart buffer */ } int main
-
Thread
PIC oder AVR Microcontroller - Unterschiede?
sind natürlich die 8051-er. Und mit über 30 Herstellern auch die Familie mit den meisten Varianten (interne ADC, DAC, PCA, UART, I2C, CAN, USB, MP3, Ethernet). Zum 8051 kann ich Dir ne Menge sagen. Die PICs habe ich mir auch mal angesehen, aber wenn man erstmal 8051 gemacht hat, will man sich mit
MHz Bustakt hochtreiben, was einer Zykluszeit von 125 ns entspricht. Das läßt sich über einen Oszillator regeln, die lassen sich aber auch mit einem 32 kHz Quarz betreiben und dann wirde die Takfrequenz über die Programmierbare PLL variabel gesteuert. Manche haben auch einen Internen Oszillator. Die
-
Thread
Anbindung (seriell) Atmel an PC
nette Tabelle, wie genau man die Baudraten bei welchem Takt trifft, bei 1 MHz und 9600 Baud war der Fehler >8%). Dann habe ich einen 4 MHz Oszillator dazugeloetet, damit gings dann bis 19200 Baud problemlos. Mehr duerfte auch gehen, aber vermutlich nicht mit meiner fliegend auf einer Lochrasterkarte
Fuse-setzen zerschossen habe... passiert eben. Zu den Baudraten: Habe bisher mit 9600Baud und internem Takt praktisch 0,0% effektivem Fehler erreicht. Ohne Probleme.
-
Thread
AVR <--> 89C52
Vergleich der wichtigsten Funktionen: 8515: 8k Flash 512 Byte RAM 512 Byte EEPROM 2 Timer UART Watchdog Analog Comparator SPI Interface 89C52: 8k Flash 256 Byte RAM 3 Timer UART Wenn man sich jetzt noch anschaut, das der 89C52 einer der größeren dieser Familie ist, bei den AVR aber
wie das beim 89C52 ist aber den HC08 kann man auch mit nem 32 kHz quarz betreiben und die Interne PLL sorgt dann für die hohen Frequenzen. Ist aber eiegntlich einfacher ein Hochfrequentes Signal zu verlegen als den Oszillator sauber aufzubauen. Eckard
-
Thread
Problem mit Mega128 USART
Kann es sein, daß du vergessen hast von 1 MHz internem Oszillator auf externen Quarz umzustellen?
Würde ich auch vermuten. Im Auslieferzustand laufen den neuen Megas alle mit dem internen RC-Oszillator auf ca 1MHz. Da muß man erst mal per ISP ein paar Fuses umbiegen. Gruß Markus
-
Thread
UART & ATMega163
int main( void ) { InitUART( 0x1f ); /* Set the baudrate to 9600 using a 4.9152MHz crystal */ for(;;) /* Forever */ { TransmitByte('A'); } return 0; } /* Initialize UART */ void InitUART( unsigned
bin kenn ich mich in anderen Programmen immer nicht so recht aus und kann nicht sagen ob da ein Fehler ist. Du hast aber vermutlich vergessen die Fusebits richtig zusetzen - der Mega läuft wohl mit seinem internen 1mhz RC oszillator - schau mal ins Datenblatt was man da wie setzen muss.... Viel Erfolg
-
Thread
Portierung AT90S8035 nach ATmega163
Vielen Dank für die Hilfe, aber ich habe den Fehler schon gefunden. Der ATmega163 hat sog. Fuse Bits, leider stehen die Defaultmäßig auf interne 1MHz Takterzeugung. Mein 8Mhz Quarz wurde nicht verwendet und somit lief mein Interruptprogramm zu langsam
Hallo Markus, ja im Datenblatt steht, das der Defaultwert der Fusebits den atmega163 auf den internen Oszillator einstellt. Man kann die Fusebits mit dem Ponyprogrammer auslesen, aber Vorsicht, es wird ein invertierter Wert angezeigt. Am besten mal ins Datenblatt schauen (Seite5 und 134). Aber Vorsicht