-         

Ergebnis 1 bis 6 von 6

Thema: Funktion __delay_cycles();

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791

    Funktion __delay_cycles();

    Anzeige

    Hallo Leute,

    ich bin gerade dabei, ein Programm vom IAR EWAAVR Compiler auf AVR-GCC zu übertragen.

    Da kommt die Funktion __delay_cycles(X) vor, die es so ja in GCC auch in der delay.h nicht gibt.

    Wer kennt den EWAAVR Compiler und kann mir sagen, ob diese Funktion genau um eine bestimmte Anzahl von Taktzyklen verzögert? Ich habe keine Lib gesehen, die für diese Funktion eingebunden wurde. Wo kann ich evtl. nachlesen, wie diese Funktion arbeitet?

    Gruß Dirk

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    04.09.2008
    Beiträge
    31
    Da IAR das Rad ja nicht jedes Mal neu erfinden wird, sollte der folgende Link auch für den AVR gelten:
    http://tech.groups.yahoo.com/group/msp430/message/32543

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo bb_stefan,

    danke, das hat geholfen.

    Dann könnte ich doch in GCC die Funktion _delay_loop_2 (uint16_t __count) aus der delay_basic.h nehmen. Oder muss ich was eigenes machen?

    Gruß Dirk

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    04.09.2008
    Beiträge
    31
    Ich kenne mich leider weder mit GCC noch mit AVRs aus.
    Ich persönlich wäre mit solchen _delay_cycle Sachen eher vorsichtig, je nachdem was Du damit erreichen willst (Genauigkeit, etc.). Vorallem da es so unterirdisch schlecht dokumentiert ist, weiß man nie, was dabei tatsächlich für eine Verzögerungszeit rauskommt.
    Wenn's auf Genauigkeit ankommt, würde ich immer zu einem Timer raten!

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2006
    Ort
    Karlsruhe/München
    Alter
    27
    Beiträge
    587
    Ich habe hier mal im Forum edelay.h veröffentlicht, das funktioniert zu 100% und ist genau das was du suchst.

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo s.o.,

    deine edelay.h ist echt gut.

    Wenn die Funktion __delay_cycles() des IAR-Compilers genau so funktioniert, habe ich ja einen 1:1 Ersatz.

    Gruß Dirk

Berechtigungen

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