Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

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
Ich nutze:
C-Control Pro Mega32, CC-Pro 32 Application Board
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)