Re: Messung niedriger Frequenzen & 3 Fragen Kategorie: Programmierung Basic (von Mike - 14.08.2007 16:03) | ||
Als Antwort auf Re: Messung niedriger Frequenzen & 3 Fragen von Peter W. - 14.08.2007 8:47 | ||
| ||
Vielen Dank, Peter! Wie lautet der cast-Operator in BASIC; habe ihn bisher nicht in der Dokumentation gefunden? Ja, das Lesen von Dokumentation ist nicht meine Stärke. Doch in der Dokumentation bekommt man den Eindruck, da� die 200 mA-Begrenzung sich auf die digitalen Ausgänge (sprich: der Mega32 selbst) bezieht und nicht auf den Spannungsregler. Ich hätte nie gedacht, da� der 7805 alleine vom Application Board + LCD im Auslieferungszustand bereits überlastet ist! Danke für den Tipp. Nochmals danke & beste Grü�e -- Mike > > Zu1. Die Idee, über Interrupt die Periodendauer des Signals zu messen, ist gut! Du könntest > Counter0 zum Zählen der eingegangenen positiven Signalflanken und Timer1, mit 16Bit Aulösung, > zur Messung der Periodendauer nehmen, um durch eine Mittelwertbildung über n Signalflanken > die Periodendauer des Eingangssignals zu berechnen. > > Zu2. Das ist in C der s.g. cast-Operator zur expliziten Umandlung eines Datentyps: > > float f; > int i; > int funktion( int ); > > i = funktion( (int) f ); > > Zu3. Du kannst Daten auch im Flash speichern, wie es z.B. ein Bootloader oder ein Datenlogger > macht, aber in den Libraries der C-Control Pro gibt es dazu keine Funktionen. Da der Compiler der > C-Control Pro einen speziellen Byte-Code aus deinem Programm erzeugt und keinen OP-Code > für den Mikrocontroller, bist du, wenn du deine Programme mit diesem Compiler erzeugst, auf > die Funktionen in den Libraries beschränkt. > > zu4. Wenn du die Dokumentation aufmerksam gelesen hättest, wäre dir aufgefallen, dass man den > Spannungsregler ohne Kühlkörper nur mit maximal 200mA belasten kann! Lösung: Kühlkörper für > den Spannungsregler kaufen! > > Peter W. > > > Hallo, ich bin Mega32-Neuling und habe 4 Fragen: > > > > 1) Ich möchte die (niedrige) Pulsfrequenz zweier digitalen Signale messen. Das eine Signal läuft > > normalerweise zwischen ca. 7 und 21 Hz, das andere zwischen 0 und 130 Hz. Wenn ich das mit Counter > > mache, die ich einmal pro Sekunde auslese, ist der Rundungsfehler gro� (schlechte Auflösung z.B. wenn > > ich 8 statt 7 Pulse zähle ist das schon 14% Fehler! Au�erdem ist eine Update-Rate von 1 Sekunde etwas > > zu langsam. Wie könnte ich das genauer und mit schnellerer Update-Rate machen? Ich überlege, einen > > Timer mit z.B. ca. 1000 Hz laufen zu lassen, über Interrupts die Flanken meiner Signale zu überwachen > > und die verstrichene Timerzahl als Periode verwenden. Geht das? Habt Ihr andere Ideen? > > > > 2) Ich möchte ein Float (Single-) Wert an eine Sub senden, die Integer erwartet. Gibt es eine Art int(x) > > Funktion, um von Single nach Integer umzurechnen, d.h. Nachkommastellen verwerfen? > > > > 3) Ich möchte nach jeder Nutzung meines Programms einige Daten für's nächste Mal sowie für's spätere > > Downloaden ablegen. Geht das nur im EEPROM oder kann ich auch z.B. im Flash ablegen? Wenn ja, wie? > > > > 4) Der Spannungsregler 7805 auf dem Evaluation Board wird verdammt warm! (Bestimmt mindestens 70 Grad > > am Metallteil.) Ist das normal? > > Ich habe noch nichts an die Ein- oder Ausgänge gelegt. Liegt das daran, da� die Hintergrundbeleuchtung > > des LCD soviel Strom zieht? Als Versorgung verwende ich ein Steckernetzteil mit 9V DC und 600 mA. > > > > Vielen Dank! -- Mike | ||
Antwort schreiben Antworten: Re: Messung niedriger Frequenzen & 3 Fragen (von PeterS - 15.08.2007 14:54) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum