-
Thread
LED Matrix zum x.ten
Haus) durch das Multiplexing ein oder es läuft unter Umständen mit den ICs überhaupt nicht. Dazu fehlen mir einfach wohl das "Hintergrundwissen". Die Fläche der Matrix sind ca. 1,5x5m. Hab auch schon dran gedacht einfach ein paar Tinys(2313) zu nehmen jeweils 5-10 pro Tiny und dann vernetzen (RS485)
Helligkeitswerte einfach nur durchschieben. Geschwindigkeitsprobleme wird es auch nicht geben, der interne Oszillator reicht also locker aus. Grüße Kai
-
Thread
UART senden ohne Timer emulieren
schon danach aus. [c]#include <avr/io.h> #include <stdint.h> #include <util/delay.h> #define UART_DDR DDRA #define UART_PORT PORTA #define UART_TX PA1 #define UART_Baud 9600 void rs232_init(void) { UART_DDR |= (1 << UART_TX); // TX Pin als Ausgang schalten UART_PORT |= (1 <
mich mal mit dem Timing, um näher ans Optimum ranzukommen. Vll läuft das ganze dann noch mit dem internen RC-Oszillator. Im Moment ist es erstmal wichtig damit ich einen Tempsensor kalibrieren kann :-) lg PoWl
-
Thread
Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus
den 16F876 PIC. Ich mußte jedoch sehr schnell feststellen, daß das ein Schuß in den Ofen wird. Es fehlen dem PIC wichtige Befehle und er ist zu langsam. Letzteres Kann man etwas aufmöbeln, indem man den PIC einfach mit einem Oszillator hemmungslos übertaktet (100% sind kein Problem für dem PIC). Aber
problem persists, please contact the >administrator of this website (webmaster@embdev.com). >Ein interner Fehler ist aufgetreten. Falls dieses Problem erneut auftritt, wende >dich bitte an den Administrator (webmaster@mikrocontroller.net).
-
Thread
Atmel kündigt AVR XMEGA-Mikrocontroller an
werden kann bzw. wird etc.). > Ich hoffe daher schwer, dass ATMEL in die X-Serie auch einen internen > Oszillator einbaut, der dann per PLL für den USB genutzt werden kann und > es erlaubt einen UART durch ein externes Quarz mit gerader Baudrate zu > betreiben. Jein bzw. theoretisch ja, es
zumindest geht das z.B. bei Freescale oder Cyan 1)). Bleibt nur noch aus 48/24/16 MHz einen passenden UART-Takt zu erzeugen. Das geht bei 16 MHz und 24 MHz mit einem Fehler kleiner 1 % z.B. für 230400, 115200, 57600, 38400 etc. (bei 16 MHz auch 460800 und 921600). > Oder aber sie bohren den 32kHz Oszillator
-
Thread
Erzeugung von 25kHz PWM mit Hilfe von Timer 1
am OC1A anliegt. Sobald Werte >0 eingestellt werden ist nur der 5V Pegel vorhanden. Wo ist mein Fehler? Die Werte von ICR1 wurdne laut der Formel( siehe oben ) berechnet.
400Khz errechnet 25KHz gemessen ein Verhältnis von 1:16. Ich glaube der interne Oszillator ist da am werkeln und nicht der Quarz. MW
-
Thread
sleep - Timer2 soll aufwecken
Taktfrequenz schwankt zwischen 7.9 und 8.2 MHz bei 8Mhz interner Frequenz
(Gast) >Sag mal Falk, was hast Du denn gegen meinen Beitrag? Weil er suggeriert, dass eine UART Kommunikation mit internem RC-Oszillator ganz easy ist. Das ist nicht der Fall. Es kann laufen. Man kann auch mit gewissen Aufwand (Kalibrierung, zyklische Rekalibrierung) das hinbekommen. Aber man
-
Thread
Anfänger Warenkorb
parallelen Billig-ISPs nicht weiter zu kommen, wenn der rumzickt. Besonders, da man gar nicht weiß wo der Fehler liegt (ISP-Programmer, Schaltungsaufbau, eigene Software). Wenn es das Geld erlaubt einen AVR Dragon in Betracht ziehen.
fehlt und > kann dann mit dem Rest fast nichts mehr anfangen ;) :-) Es wird immer irgendwas fehlen :-) Aber ich denke, du hast da jetzt eine vernünftige Ausstattung mit der du für die ersten Schritte gerüstet bist.
-
Thread
Probleme mit UART_RX mit AtMega2560
Zeit lang an einem recht großen Programm. Jetzt bin ich an der Stelle angekommen, bei der ich die UART0 verwenden muß. Diese UART wird nur empfangen können. Daten: 2400_8n1. Habe schon etliches ausprobiert und komme nicht drauf was da jetzt falsch sein sollte. SpeicherOszi direkt an PortPin, Signal
FramingError, DataOverRun if (!(UCSR0A & ((1<<FE0) | (1<<DOR0)))) { uart0zaehler++; //global data[uart0zaehler] = UDR0; if (uart0zaehler == 69) { uart0zaehler = 0; } } else //bei
-
Thread
USART. Übertragungfehler.
An der Baudrate. [[AVR-Tutorial: UART]] http://www.mikrocontroller.net/articles/AVR_Checkliste#UART.2FUSART MfG Falk
Am Timing. Entweder das Oszillator-Timing oder das Software Timing. Die Leute wollen es ja immer nicht glauben, aber der interne Oszillator taugt nichts für die serielle Schnittstelle (ja, man kann ihn kalibrieren, nur sind Anfänger
-
Thread
delay.h - Ruf der Verzweiflung
Hört sich für mich so an, als ob du mit internem RC-Oszillator als Taktquelle arbeitest und den mit den 1 MHz wie ab Werk betreibst, aber das Programm fälschlicherweise über F_CPU gesagt bekommt, es wäre ein 8 MHz Taktquelle am werkeln. Eine
über das Makro F_CPU bekannt gemacht. Andere Funtionen, die mit diesem Makro arbeiten, können sein UART (serielle Übertragung), Timer, ... Mehr dazu im Artikel [[AVR Fuses]]
-
Thread
LCD über nur einen IO-Pin ansteuern
Hex-Digits senden. Das ist insbesondere für PC-Modder interessant, die ein LCD einfach über die UART ansprechen wollen. Peter
@Peter Kann man mit der AutoBaud-Funktion in anderen Kontexten auch ohne externen Oszillator bei guter Qualität über RS232 senden, nachdem der UART eingestellt ist?
-
Thread
Atmega 8: ohne Quarz usw. - nur mit int. Oszilator?
andere als stabil ist. Ich jedenfalls hatte es schon öfters, dass mit internem Oszillator gar nix vernünftiges mehr ankam. Und bis man dann mal den Fehler gefunden hat, bei dem internen Oszillator, der doch die letzten 99 male vernünftig funktioniert hat. Viel Spässchen!
meisten Anwendungen nicht erforderlich) für jegliche Art asynchroner Datenübertragung, insbesondere UART" wird. Mit dem Hinweis vielleicht, dass es mit dem internen RC-Oszillator klappen /kann/, aber keineswegs /muss/, so dass wenigstens die Zahl der Postings mit dem Betreff "UART mit internem Oszillator
-
Thread
ATMEGA 16 Crystal
Empfehle 14,7456 MHz - da muss man sich schon anstrengen, damit das Timing Fehler verursacht. Wie ist dein UART konfiguriert? Funktioniert der Empfang von Daten?
reichen mir allerdings bis jetzt immer 38400. Alles natürlich auf einen Quarz am AVR bezogen, der interne RC-Oszillator ist auch mir zu instabil, allerdings habe ich auch schon mal zum Debug damit 19200 stabil bei Zimmertemperatur gemacht, einfach einen Teststring geschickt und den UART-Teiler mal 1-2
-
Thread
AVR-ChipBasic2 - BASIC-Computer mit ATMega 644
irgend wann habe ich mal Zeit übrig und baue das mal aus Spass. Respect Jörg! Wirst du den SoftUart mit max 2400 baud mal durch den zweiten Uart des 644P ablösen? Gruß Rene
Hallo, bin z.Zt. in Urlaub. Es kann schon sein, dass noch Fehler in den Zeichnungen sind. Jörg
-
Thread
Fusebit von alleine verstellt?
vermieden werden. Wenn du also wie ich keinen keinen HV-Programmer hast, kannst du den Externen-Oszillator-Trick versuchen.
Bootloader kann nicht die Fuses verstellen und läßt sich viel einfacher benutzen. Man muß nur die UART mit dem PC verbinden, ein spezieller Programmer ist nicht mehr nötig. Peter
-
Thread
MSP430F1611 TimerA Interrupt Problem
. Der interne DCO kann sehr einfach auf die Uhrenquarzfrequenz synchronisiert werden, was ein präzises Timing ermöglicht! >0000ffe0 <_vectors_end-0x20>: >... >ffec: 84 40 interrupt service routine
in der ISR ankommt und was er dort dann macht. >ist kurz danach der MCLK aus Da der MCLK vom internen DCO getaktet wird und die Ausgabe an P5.4 ein HW-Feature ist, scheint sich der µC irgendwie ganz dramatisch zu verabschieden oder in einem Endlos-Reset zu hängen...???!!!
-
Thread
bidirektionale Datenübertragung zwischen 2 Atmega 8
den beiden Takten erlaubt als bei 8N1. Also: wenn zwei AVRs miteinander reden sollen über die UARTs und beide haben dieselbe Spannung und Temperatur, dann tut es auch der RC-Oszillator normalerweise sehr gut, besonders bei kurzen Wortlängen. Und wenn man sich nicht den Wolf machen will, jedes Byte
er jetzt reden darf. Flow Control nennt man das wohl, XON/XOFF. >Man liest immer, dass für UART-Übertragung der RC-Oszillator nicht >geeignet ist sonder dass ein Quarz sein muss. >Das stimmt bedingt, aber nicht ganz :-) Es simmt genug, um einen Quarz zu verwenden. >In der Tat kann man
-
Thread
LED Adressierung bei Buslängen > 10 m
mittlerweiler mit RS485 gelöst. Funktioniert soweit ganz gut. Setzte allerdings ATMegas ein, so dass ich eine UART habe. Sollte Dein ATTiny keine UART haben, kannst Du ja auch eine Software-UART implementieren. Bei RS485 Treibern kannst Du die Std.Bauteile nur mit max.32 Nodes am Bus betreiben. Aber es gibt Bausteine
Auf jeden Fall werde ich eine bitweise Synchronisierung brauchen, da die Controller mit ihren internen Oszillatoren bei schwankenden Temperaturen (evtl. auch als open-air Lichtkette) funktionieren sollen. Nur der Master bekommt einen Quarz. Tendieren tue ich zu b.), weils noch etwas einfacher zu
-
Thread
AVR TWI Master und Slave Funtionen in C
Hallo, über die Fuses wählst Du z.B., ob der interne Oszillator oder der externe Quarz den Takt vorgeben. Bei externem Quarz noch einige andere Details dazu. Das sollte man sich mal ansehen und auch verstehen. Wenn der UART mit der Baudrate funktioniert
benutze immer eine Funktion zum Baudrate setzen, die die gewünschten Settings so berechnet, dass der Fehler am kleinsten ist. Funktioniert ähnlich auch bei UART. Gruß Olaf
-
Thread
Mega8 Uart Empfangs Problem
@ UB (Gast) >Nutze den internen Oszillator (8Mhz,9600Baud) und die Lib von Peter >Fleury. MÖÖÖP! Fehler! >Ist ess Möglich das der PC trotz richtiger Baud-Rate "zu schnell" sendet >??? [[AVR-Tutorial: UART]] MfG Falk
@ Paul Baumann (Gast) >Hm, 8Mhz und 9600Baud ergibt nur einen Fehler von 0,2%. Warum sollte das >nicht gehen? "Nutze den internen Oszillator (8Mhz,9600Baud)" Der hat keine 0,2%, eher 2% und mehr. Sihe Link. MFG Falk
-
Thread
UART - senden geht, empfangen nicht :-( Mit Latein am Ende
(__TIME__); uart_putc('\n'); uart_putc('\r'); //Warte auf Taste uart_puttext("Taste1");uart_putc('\n'); uart_putc('\r'); while (!(UCSRA & (1<<RXC))) { ;} uart_puttext("Taste2");uart_putc('\n'); uart_putc('\r'); while (!(UCSRA & (1<<RXC))) { ;} while(1) { // Blinken toggle_LED(); } return 0; } [/c] Den einzigen Hinweis auf einen Fehler ist der Signallevel
-
Thread
[S] Leute die einen Logic Analyzer (MiniLA) bauen wollen
gemacht mit den Teilen, die nötig sind und die jeweiligen Preise dazugeschrieben. In der Liste fehlen derzeit noch: - Oszillator (beide Versionen) - FT2232 (USB-Version) - PCB Den Oszillator würde ich bei Digikey noch dazubestellen. Wir müssen uns halt für einen entscheiden. Der letzte in der
, ist es wohl kein großer Fehler. Gib dem CPLD genügend Strom! Der Oszillator wird zum Brennen nicht benötigt. Viel Glück, Guido
-
Thread
UART falsche Zeichen
geschaut und überprüft, ob die Fuses richtig gesetzt sind. Es gibt IMO eine Fuse, die angibt, ob die interne oder externe Taktquelle verwendet werden soll. Ich habe gelesen, daß die Interne Taktquelle nicht für UART geeignet ist, weil zu ungenau (temperaturabhängig, usw.). Apropos Fuses, vllt. ist bei Dir
Baudrate erreicht. Der Prozessor arbeitet nicht mit dem Quarz, sondern läuft immer noch auf dem internen Oszillator.
-
Thread
Sparten II FPGA für Anfänger
Ich keine KEINEN FPGA mit internen RC-Oszillator, auch keinen FPGA. Aber man kann einen Quarz uber interne Inverter anschliessen und dann schwingt das Halbwegs. falls es die minimale interne taktfrequenz hergiebt, kanns du vielleicht
@ fpgaküchle (Gast) >Ich keine KEINEN FPGA mit internen RC-Oszillator, auch keinen FPGA. Wie ich bereits sagte, der C-Oszillator ist der Nutzerlogik nitcht zugänlich. Aber er IST da, als Teil der Konfigurationslogik. Indirekter Beweis http://www.geocities.com
-
Thread
Quarz und Kondensator
durch das Layout mit 3-9pF zu rechnen (Anmerkung: doppelseitige Platinen eher an der Obergrenze). Fehlen also noch 21 pF. Der ATMega selbst hat eine Pin-Capacitance von 10 pF. Fehlen noch 11 pF. Zwei parallele 22pF-Kondensatoren ergeben genau diese 11 pF. Wer 22pF nimmt, macht es also IMHO richtig. Im
liegen. 3 Quellen, 3 verschiedene Antworten, was sollte ich nutzen? Ich habe bisher immer nur den internen RC Oszillator benutzt und habe daher keine Erfahrung mit den Quarzen. Genutzt werden soll das ganze für UART. Danke.
-
Thread
Solar Akkulader für Mega8
um Abgleich oder Einstellungen zu erleichtern. Der Mega8 wird mit 2MHz internen RC Oszillator betrieben, daher kann es zu Fehlern in der UART-Ausgabe kommen. Ist bei mir aber noch nicht bei 4800,8N1 vorgekommen ;) Kritik ist immer erwünscht. Grüße Björn
>Der Mega8 wird mit 2MHz internen RC Oszillator betrieben, daher kann es >zu Fehlern in der UART-Ausgabe kommen. Falls dem so ist, kann der interne RC auch geeicht werden, in das OSCCAL-Register kann man dann einen Korrektuwert
-
Thread
RS232 mit MSP430FG4618
DCO-Takt für die CPU. Wenn du einen hochfrequenten Quarz an den ACLK dran baust, musst du den Oszillator erst ma auf HF-Modus umschalten. Das geht per Programmcode. Mit JTAG hat das nix zu tun. Bei den alten MSPs war´s zumindest so, dass der X1 Oszillator standardmäßig für einen Uhrenquarz ist. Ist
MSP auf TX (Ausgang) vom PC legst. Bei RX demzufolge genauso. Desweiteren musst du den XT1-Oszillator auf HF-Quarz einstellen, wie das bei den neuen MSPs geht, weiß ich nicht, schau mal in den User Guide. Du solltest auch die zu deinem Quarz passenden Last-Kapazitäten einschalten, bzw wenn die internen
-
Thread
Fehler beim Receive UART
Hallo, bei der Kommunikation zwischen PC und meinem PIC24F kann ich keinen einzigen korrekten Zeichen empfangen (aus uC Seite). Die Register sind korrekt eingestellt, Baude Rate auch, und das Senden in PC Richtung klappt 100%, mit dem Terminal bekomme ich alles was ich sende. Nur bei dem Empfang ist ständig einen Frame Error => irgendwas mit dem StopBit stimmt nicht, obwohl mit dem Oszi sieht alles richtig und gut aus!! hat jemand noch eine Idee was da sein könnte, oder was ich noch prüfen kann? Gruß
-
Thread
ZigBit ZigBee Meshnetics
tlw. direkt an den Beinen gelötet..) Wenn ich die ZigBit module an 3.3V häng, dann laufen die internen Oszillatoren wie im Datenblatt angegeben.. 4MHz an Pin 10 und 32kHz an Pin 7. Die SPI hab ich wie im Datenblatt angegeben angeschlossen: Pin 1: SCK Pin 2: MISO Pin 3: MOSI Pin 8: RESET Pin
Joan wrote: > Wenn ich die ZigBit module an 3.3V häng, dann laufen die internen > Oszillatoren wie im Datenblatt angegeben.. 4MHz an Pin 10 und 32kHz an > Pin 7. Wenn der 32-kHz-Quarz läuft, dann muss auch der AVR noch funktionieren. Dieser Oszillator läuft nur an, wenn
-
Thread
Mega256 + 64kb SRAM
Mega2560 mit knapp 100 Pins ein kleines Dev-Board gebaut, was im Augenblick mit 18,432 Mhz läuft. Uart läuft schon prima. Ich will mal wieder einen SRAM mit 64KB ansteuern, allerdings klappt das nicht die Bohne. Mein Ansatz ist folgender: In der main wird als erstes [c]XMCRA = 0x80; // External
Hallo, lasse den uC doch mal langsamer laufen, mit dem internen 1 MHz RC-Oszillator. Aber sicherheitshalber das Quarz abklemmen, ich hatte schon mal den Fall dass ein Mega16 mit der Quarzfrequenz lief obwohl die Fuses für den internen Oszi eingestellt waren. Dann
-
Thread
Müll auf der RS232 Schnittstelle
richtiges Zeichen. Mit einem Quarz verbessert sich die Baudrate deutlich. Eventuell vorhandene andere Fehler bleiben natürlich weiter bestehen.
@ owagott (Gast) >ich habe hier eine fabrickneuen ATmega32L >und den möchte ihn mit internen Quarz betreiben. >1 Mhz Schlechte Idee. >Was mach ich falsch? Vieles. Deine taktquelle, der intere Oszillator ist nicht gut. >Was ist die Ursache? [[AVR-Tutorial: UART]] [[Baud]]
-
Thread
Pollin Atmel Evaluations-Board & Co. - Fragen
AT90S8535 von den genannten Controllern (ATmega16/32, ATmega8535) unterscheidet ist, dass er keinen internen RC-Oszillator hat, sodass man immer einen externen Takt oder Quarz benötigt. Da ich mal davon ausgehe, dass das Board irgendsowas bereit stellt, sollte der AT90S8535 also sehr wohl benutzbar sein
eingestellte Fuses voraus. Wenn die externe Taktquelle zwar vorhanden ist, aber die Fuses noch mit der internen RC-Oszillator-Taktquelle 1 MHz arbeiten hast du auch den Faktor 8 MHz/1 MHz = 8 drin.
-
Thread
Übertragung des Zustandes an PC UART
#include <stdlib.h> #include <avr/io.h> #define WARTEPIN PIND #define WARTEBIT PD0 void uart_init() { UCSRB |= (1<<TXEN); // UART TX einschalten UCSRC |= (1<<URSEL)|(3<<UCSZ0); // Asynchron 8N1 #define F_CPU 8000000 /* Oszillator-Frequenz in Hz */ // Hilfsmakro
); // UART TX einschalten UCSRC |= (1<<URSEL)|(3<<UCSZ0); // Asynchron 8N1 #define F_CPU 8000000 /* Oszillator-Frequenz in Hz */ // Hilfsmakro zur UBRR-Berechnung ("Formel" laut Datenblatt
-
Thread
FPGA synthetisierung
@ Vhdler (Gast) >Hat der clpd einen internen Clock? wenn ja wie schnell? Nein. UNd für DMX brauchst du sowieso einen Qaurz oder Keramikresonator. Siehe http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART#Senden >72 FlipFlops
takt liegt dabei bei < >83ns (worst case)....also KAUM verzögerung Spielt beim UART keine Rolle. >Seh eigentlich keinen Fehler und sollte funktionieren ?!? Mehr oder weniger. Nur weil du keine Fehler siehst, heisst das ncoh lange nicht, dass keine da sind. ;-) >Das ganze würde
-
Thread
Zeichen fehlerhaft über RS232 an/von ATmega16
externer Quarz oder interner RC-Oszillator? MW
Debug hats gelangt. Die meisten meiner µC Anwendungen sind eh zeitunkritisch so das ich oft den internen RC nehme. Aber wie ich schon sagte: RC Oszillator und UART ist Pfui wenns zuverlässig sein soll. Grüße Björn
-
Thread
USART und mein Code
In Zeile 42 ist ein logischer Fehler.
falsch? Ist > nicht, ist Werkseinstellung mit 1 MHz Intern. lies bitte das Tutorium mit dem internen Oszillator kannst Du bei der UART keinen Blumentopf gewinnen. Du brauchst einen Quarz und musst auf ext. Oszillator umstellen. Gruss Otto
-
Thread
SPI Problem mit MCP2515
Allerdings funktioniert die Kommunikation nur mit 125kbit/s (auf dem SPI). Ich habe den Mega8 mit dem internen RC Oszillator auf 8MHz laufen, der MCP2515 hat einen 16 MHz Quarz. Wenn ich nun den SPI Teiler auf 64 stelle funktioniert alles, aber sobald ich auf /32 gehe kann ich keine Register im MCP2515 mehr
daran etwas komisch ist, dass es bis zu einem bestimmten Takt funktioniert oder ist da evtl. ein Fehler der aus irgendwelchen Gründen bei kleinen Frequenzen nicht zum Tragen kommt?
-
Thread
Bug in Hyperterminal
Ich habe ein merkwürdiges Verhalten bei Hyperterminal festgestellt und wollte mal wissen, ob der Fehler nur bei mir auftritt, oder ob der auch bei anderen Windows-Installationen auftritt: Ich habe hier einen AVR der über den UART mit meinem PC kommuniziert. Unter Linux schicke ich Daten per "echo 'daten
anstelle des Datenbits gesendet wird. Und der AVR hat natürlich einen Quarz als Takt? Mit dem internen RC-Oszillator ist die korrekte Datenübertragung Glücksache. Eine ungenaue Bitrate erklärt Übertragungsfehler in den obersten Bits ebenfalls. Aber auch das ist eigentlich banal und mittlerweile
-
Thread
Probleme, AVR über Hyperterminal ansteuern
denn schonmal irgendetwas passiert, scheint der µC ja zu laufen. Somit kann es doch nur noch ein Fehler in Hardwareaufbau sein.
die Fuses auf den externen Quarz als Taktquelle gesetzt hat. Wenn der Attiny noch mit dem lahmen internen RC-Oszillator arbeitet, sind die Timer-Warteschleifen total ausser Kontrolle.
-
Thread
Unterschied ATmega88 / ATmega168
@ Richard (Gast) >Der Fehler lag in der Baudrateneinstellung. >Ich musste den Wert etwas anpassen, da sich der interne >Oscillator bei 2MHz anscheinend etwas anders verhält >als der des ATmega88. Nun läuft die Anwendung. Du hast soeben einen Preis gewonnen. 1000er UART-User, der mit internem Oszillator arbeitet. Das soll man nicht machen. Warum? Lesen Sie hier. [[AVR-Tutorial: UART]] >Der kompilierte Quellcode besteht beim mega88 aus 3015 words, und beim
-
Thread
UART und Mega169
hallo, mein Ziel ist es über UART was an den PC zu schicken. Ich habe mich ans Tutorial gehalten und bekomme jetzt eine Warnung und den Fehler das der Baudratenfehler zu groß ist. Die Warnung lautet: interger overflow in expression
definiert hast. >Der butterfly arbeitet ja mit dem internen RC, muss da noch was gemacht >werden? IHN VERGESSEN! >Ich habe irgendwo gelesen das die zu ungenau sind. EBEN! [[AVR-Tutorial: UART]] MFG Falk
-
Thread
UART Übertragungsgeschwindigkeit einstellen
Sieh dir hier mal das Makro UBRR_VAL an http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#UART_initialisieren PS: Der heäufigste Fehler, wenn eine UART nicht funktioniert ist es, wenn dein µC nicht auf der Taktfrequenz läuft, die du angibst. D.h. zb. du gibst zwar 8Mhz im Programm an und
Allerdings hast du vergessen, die Fuses umzustellen und daher arbeitet der µC immer noch auf dem internen RC-Oszillator auf ca. 1Mhz
-
Thread
Compiler error: undeclared (first use in this function)
define BRATE 34 // 115200 Bd (BREGH=1) # define U_ENABLE 0x8008 // enable UART, BREGH=1, 1 stop, no parity # define U_TX 0x0400 //----------------------------------------------------------------------------- // Initialization of UART 2 module //----------------------
Oszillator passen, der in Hardware realisiert ist, also z.B. Quarz. Hast Du denn ein Schema? Die Default-Frequenz (für den internen RC-Osziollator?) entnimmst Du am besten dem Datenblatt.
-
Thread
MSP430: UART Verständnis/Problem
nicht zu hoch aus. http://mspgcc.sourceforge.net/baudrate.html Die Frage ist - ebenso wie beim internen RC-Oszillator vom AVR - wie stabil die Taktquelle läuft. Der Taktquellenfehler geht in den Baudratenfehler ein und das wird beim obigen Codegenerator nicht berücksichtigt; dort wird dieser Fehler
zusätzlich zum Absolutfehler wo n liegt. Letztlich kann man auch den temperaturabhängigen DCO Fehler (also den Absolutfehler oben) anhand von Bild 4-6 im User's Guide abschätzen. Zwischen -40°C und +90°C wandert f(DCO) von fast +25% mehr bis -25% (bei internem R im RC-Oszillator, externer R sieht
-
Thread
Ausgabe auf Terminal
> 1000000 Arbeitest du vielleicht noch mit dem internen R/C-Oszillator statt mit externem Quarz? Kommen die 500ms Pausen vom Gefühl her hin? Dann lies den Abschnitt WICHTIGER HINWEIS! in http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
so, da wird die Taktfrequenz geteilt. Stell mal "division 0" oder so ein. Ich hatte den gleichen Fehler gemacht. mfg GeorgB
-
Thread
Anfängerprobleme mit MEGA32
sei(); //Interrupts an //cli(); Interrupts aus } /***********************/ //UART Funktionen void aktiviereUART(void) { UCSRB |= (1<<TXEN); // UART TX einschalten UCSRB |= ( 1 << RXEN ); //UART RX einschalten UCSRC |= (1<<URSEL)|(3<<UCSZ0); // Asynchron
ist oder nicht. Dein Mega32 arbeitet, wenn du an den Fuses noch nichts verstellt hast, mit dem internen Oszillator auf ca. 1Mhz. Wichtig ist nur: Er arbeitet. Gib doch einfach mal ein anderes Bitmuster am Port aus: 0xAA Das ist binär 10101010, dh. immer abwechselnd eine 1 und eine 0. Wenn deine
-
Thread
Framing Error Frage
einem Programm sowohl das UART als auch die SPI verwendet werden?? dankeschön
gesetzt, dass der auch verwendt wird? Sonst läuft > dein Controller vielleicht mit dem interen RC-OSzillator mit 4 MHz. > Sende mal viele Daten vom uC zum PC. Wenn da Aussetzer drin sind stimmt > deine Baudrate nicht. Der AT90S8515 hat so was tolles wie einen internen Oszi und die dazugehörigen Fuses