- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 14

Thema: Systemzeit in Gcc abfragen, ist das möglich ??

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.695
    ... Ich glaube das es das ist was ich Suche ... für hier Regen angesagt ...
    War ja gut, wenns Dir hilft. Eine Sache hatte ich nicht dokumentiert, die Variablendefinition:

    typedef unsigned short u16;
    typedef signed short s16;

    gehört natürlich auch in den Header. Hatte ich vergessen, weils bei mir eine allgemeine Bibliothek ist. Sorry.
    Ciao sagt der JoeamBerg

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    74
    Beiträge
    1.175
    Blog-Einträge
    1
    Danke für den superschnellen Nachtrag...

    Nachtrag:
    Habe auf Microcontroller.net ein gutes Beispiel gefunden und hoffe das ich es auf meine q-freq. umstricken kann, befasse mich aber trotzdem mit den Timern vom Chip und deren Anwendung, denn das ist bislang noch, ein von mir unbetretendes Feld bei der Programmierung

    Gruss und Danke

    Gerhard
    Geändert von oderlachs (15.10.2013 um 19:37 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Zitat Zitat von oberallgeier Beitrag anzeigen
    War ja gut, wenns Dir hilft. Eine Sache hatte ich nicht dokumentiert, die Variablendefinition:

    typedef unsigned short u16;
    typedef signed short s16;

    gehört natürlich auch in den Header. Hatte ich vergessen, weils bei mir eine allgemeine Bibliothek ist. Sorry.
    Evtl. möchtest du dir Mal int16_t, uint16_t und ihre großen/kleinen Geschwister aus stdint.h ansehen. Das ist seit C99 der Weg um plattformunabhängig(er) mit Variablen einer bestimmten Mindestbreite zu arbeiten.

    @Gerhard: So ist das mit den kleinen µCs. Alles muss man selbst machen. Typischerweise lässt man einen Timer mit 10..1000Hz laufen, zählt im Interrupt die Zeit hoch und kann gleich noch Dinge erledigen die ein exaktes Timing erfordern.

    mfG,
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.695
    Zitat Zitat von markusj Beitrag anzeigen
    Evtl. möchtest du dir Mal int16_t, uint16_t und ihre großen/kleinen Geschwister aus stdint.h ansehen...
    Netter Hinweis, aber danke, die kenne ich. Und plattformunabhängig bin ich auch, da gibts nämlich Möglichkeiten . . . mit denen man formgerecht auch mal etwas mit weniger als sechs, sieben Buchstaben hinkriegt *ggg*.
    Ciao sagt der JoeamBerg

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Und plattformunabhängig bin ich auch
    Mit dem oben gezeigten aber nicht.


    Zitat Zitat von oberallgeier Beitrag anzeigen
    auch mal etwas mit weniger als sechs, sieben Buchstaben
    Niemand sagt, dass du auf dein u16/s16 verzichten sollst. Aber wenn du es so schreibst
    Code:
    typedef uint16_t u16;
    typedef int16_t  s16;
    müssen deine Typ-Definitionen bei anderen Plattformen nicht erst hinterfragt und ggf. angepasst werden.
    MfG
    Stefan

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.695
    Zitat Zitat von sternst Beitrag anzeigen
    Mit dem oben gezeigten aber nicht ... Aber wenn du es so schreibst ...
    Stefan, danke! Da dachte ich, ich hätte die typedef int aus der Library Reference von der AVR Libc Home Page verstanden - und nu gehöre ich doch zu den 60% Pisa-Erwachsenen, die Leseprobleme haben (eher Verständnisprobleme).

    Hab gerade meine Zentralbibliothek geändert !
    Ciao sagt der JoeamBerg

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    74
    Beiträge
    1.175
    Blog-Einträge
    1
    Ganz habe ich das mit den Timern noch nicht geschnallt, die Art und Weise schon verstanden nur nicht wie ich da zum konkreten Ergebis einer bestimmten Zeit komme, also die Konfiguration der Timerwerte, Vorteiler bei bestimmter FQu. (3.686400Hz oder 16.000000Hz zBsp).

    Na ja habe zwar jetzt ein funzenden ASM Beispiel, aber da muss ich erst mich wieder durchdenken was genau die SourceCode da macht...
    Es wird aber...
    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.695
    Zitat Zitat von oderlachs Beitrag anzeigen
    ... das mit den Timern noch nicht geschnallt ... nicht wie ich da zum konkreten Ergebis ...
    Zitat Zitat von oderlachs Beitrag anzeigen
    ... Habe auf Microcontroller.net ein gutes Beispiel gefunden und hoffe das ich ...
    Hmmm, da kann ich jetzt nicht weiterhelfen, weil ich Dein microcontroller.net-Beispiel nicht kenne.
    Ciao sagt der JoeamBerg

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Zitat Zitat von oderlachs Beitrag anzeigen
    Ganz habe ich das mit den Timern noch nicht geschnallt, die Art und Weise schon verstanden nur nicht wie ich da zum konkreten Ergebis einer bestimmten Zeit komme, also die Konfiguration der Timerwerte, Vorteiler bei bestimmter FQu. (3.686400Hz oder 16.000000Hz zBsp).
    Eigentlich ist das gar nicht so schwer:
    • Du hast deinen Systemtakt mit X Mhz (F_CPU).
    • Würdest du damit direkt deinen Zähler betreiben, würde der irrsinnig schnell laufen. Die messbare Zeit wäre also sehr kurz. Daher teilt man den Systemtakt bei Bedarf noch (Prescaler).
    • Dein Zähler zählt mit einer bestimmten Frequenz F_CPU/Prescaler. Je nach Timer kann der Zähler maximal 2^8 (256), 2^10 (1024) oder 2^16 (65536) verschiedene Zustände annehmen.
    • Relevant für dich ist das Auftreten des Interrupts. Der wird bei erreichen eines bestimmten Wertes (konfigurierbar über sogenannte Output Compare Units oder fest bei Zählerüberlauf)
    • Implizit stellt der Zähler nur ein weiterer Taktteiler dar, er teilt die Zählerfrequenz durch die Anzahl der Schritte bis zum Überlauf.
    • Damit ergibt sich die Überlauffrequenz F_Out = F_CPU / Prescaler / Zählschritte
    • Umgekehrt musst du also, wenn du eine bestimmte Frequenz (und damit Zeitintervalle, da f=1/T) generieren möchtest, die Parameter passend wählen. In der Regel sucht man sich dabei ausgehend von F_CPU den kleinsten Prescaler für den das Zählerregister für die Wunschfrequenz noch ausreichend ist.
    • Diese Bedingung lässt sich formulieren als Prescaler >= F_CPU/Max_Zählschritte/F_Out


    Beispiel: F_CPU = 1Mhz. Wunschfrequenz F_Out 2kHz (0,5ms Periodendauer). Timer: 8-Bit.
    Prescaler >= 1Mhz/2^8/2kHz = 1,95
    Zur Verfügung steht beim Mega8 damit zum Beispiel der Prescaler F_CPU/8

    Zählschritte = 1Mhz/8/2kHz = 62,5 (obere Formel umgestellt)
    Probe: F_Out = 1Mhz/8/62 = 2016Hz

    Achtung: Der TOP-Wert der im CTC-Modus gesetzt wird, ist Zählschritte-1, da von 0 bis TOP gezählt wird!

    mfG,
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

Ähnliche Themen

  1. Video: Wie ist das möglich ?
    Von hunni im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 19.05.2012, 13:45
  2. Asuro mit Antenne. Ist das möglich???
    Von Sim Robot im Forum Asuro
    Antworten: 14
    Letzter Beitrag: 10.03.2008, 19:25
  3. Bilddaten von Kamera speichern, ist das möglich?
    Von Edi im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 13.10.2006, 19:38
  4. 16% wirkungsgrad?ist das möglich?
    Von geisti im Forum Motoren
    Antworten: 5
    Letzter Beitrag: 29.09.2005, 15:33
  5. Ist das zuprogrammieren möglich ???
    Von Skull im Forum AVR Hardwarethemen
    Antworten: 9
    Letzter Beitrag: 21.08.2004, 12:13

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress