- LiFePO4 Speicher Test         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: Fragen zu Programmtimings; Dauer von Codezeilen berechnen

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Die Rangfolge der Interrupts ist im Datenblatt angegeben. Die externen kommen ganz als erstes, danach meist die Timer und dann der Rest.

    Man kann die Timer auch so einstellen, dass sie vom externen Signal getaktet werden (Pin T1). Dann wird also bei jedem Impuls das Zählerregister weitergezählt. Währenddessen kannst du es jederzeit ohne Störung des Zählvorganges abfragen, und wenn das Register überläuft, kann es das per Interrupt melden...

  2. #12
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Zitat Zitat von uwegw
    Die Rangfolge der Interrupts ist im Datenblatt angegeben. Die externen kommen ganz als erstes, danach meist die Timer und dann der Rest.
    Diese Aussage ist so nicht richtig.

    Die AVR Reihe von Atmel kennt keine priorisierten Interupts.

    In welcher Reihenfolge zugleich anfallende Interupts anfallen entzieht sich allerdings meiner Kenntnis.

    Zitat Zitat von m@rkus33
    Frage zur Unabhängikeit: Wer hat eigentlich die Prio der externe Int0 oder der Timerinerrupt?
    Was ich meine: Wenn im Int0 zufälligerweise der Timer auslöst, unterbircht der Timer oder nicht? Andersrum genauso unterbricht der Int0 den Timer?
    Interupts werden normal nicht unterbrochen, es sei denn man will es so ... (cli / sei)

    BTW: der einfachsteWeg ist der:

    am Anfang der routine irgendeinen Pin auf H setzen und am Ende den selben auf L .... und das ganze mit nem Oszi ausmessen ....

    Im übrigen, ist auch in Assembler das ganze nicht immer klar zu berechnen ... da eben diese "IF" Anweisungen je nach dem ob wahr oder falsch unterschiedlich lange dauern ....
    Man kann höchstens eine "Worst Case" Berechnung anstellen ....

    Grüße,
    da Hanni.

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    53
    Beiträge
    2.236
    Die AVR Reihe von Atmel kennt keine priorisierten Interupts.
    Dem kann ich wiederum nicht zustimmen.....

    In welcher Reihenfolge zugleich anfallende Interupts anfallen entzieht sich allerdings meiner Kenntnis.
    Genau die Reihenfolge, wie das im Dattenblatt steht, wie der Uwe schon sagte.

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  4. #14
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    Die Implementierung auf Int0 ist Käse an sich.
    Lass doch einfach den Timer hochzählen, dann brauchste
    praktisch garkeinen Code und ist auch nicht zeitkritisch.
    Die RS-Geschichte läuft dann auch unkritisch
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  5. #15
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    Die harte Sprache ......

    10000 Impulse Sek sind Pinatz.
    Nebenbei aber viele Byte per RS232 ausgeben , Taktgenau unberechenbar.

    Sogesehen mein Vorschlag : Per CD4024 am dessen Eingang die Impulse zählen lassen , Auslesen per IRQ .... und Reseten dann.

    Kostet 11 Cent.

    Gento

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.12.2005
    Beiträge
    161
    hmm...
    das Dumme ist nur, das bei jedem gezähltem Impuls die aktuelle Summe mit insgesamt 6 Variablen verglichen werden muss (diese Variablen sind auch noch variabel im Wert) Bei jedem der Vergleiche werden dann verschiedene Aufgaben zu lösen sein.

    Also alle x Zeiteinheiten den Wert auslesen ist nicht. Sonst wär es einfach.

    Ok eins weis ich jetzt das die 10000 Impulse ne kleinigkeit ist. Dann müsste ja genügend Zeit übrig sein um die ganze RS Geschichte abzuarbeiten. Richtig?

    Wie weit können denn die 8bit und 16bit Timer/counter "hochzählen"?

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    Wie hoch kann ich in mm springen wenn ich 1 m Springen kann ?

    So lese ich Deine Frage 8/16 Bit Zähler.

    Gento

  8. #18
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Ort
    München
    Beiträge
    111
    Zitat Zitat von m@rkus33
    Wie weit können denn die 8bit und 16bit Timer/counter "hochzählen"?
    Also das ist eigentlich das Mindeste was man wissen sollte bevor man zum Programmieren anfängt.

    8 Bit = 2^8 = 256 (0-255)
    16 Bit = 2^16 = 65536 (0-65535)

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.12.2005
    Beiträge
    161
    war ne blöde Frage....

  10. #20
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Zitat Zitat von izaseba
    Die AVR Reihe von Atmel kennt keine priorisierten Interupts.
    Dem kann ich wiederum nicht zustimmen.....

    Priorisierte Interupts habe ich meiner Auffassung nach, wenn ich die Prioritäten der einzelnen Interupts selbst definieren kann ....

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests