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

Thema: In der Kürze liegt die Würze. Oder: weniger ist mehr.

  1. #11
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Anzeige

    Praxistest und DIY Projekte
    Zitat Zitat von Rofo88
    erfüllt aber voll deine Aufgabenstellung
    und zwar mit möglichst wenig Maschinen-Befehlen!
    Eigentlich nicht. Du verwendest mehr Maschinen-Befehle. Im Assembler-Code stehen zwar nur 3 Zeilen Code, aber es geht eben um die verwendeten Maschinen-Befehle. Und das sind bei die _recht_ viele

    Wo deine Masch-Codes herkommen ist ja egal. Ob sie vom Himmel fallen oder explitit in der Assembler-Quelle stehen, du brauchst sie und kommst nicht ohne sie aus.
    Übrigens: würde das Programm z.B. durch einen Bootloader gesaugt und gestartet, würde es rummsen. Mehtos Programm funktioniert auch dann.

    Ganz nebenbei sind es illegal Opcodes. Insbesondere sind es keine NOPs.
    Bisher hab ich in keiner Spezifikation was gefunden, welchen Effekt FF:FF auf die Maschine hat. Es gab sogar mal einen Thread dazu, der ergebnislos blieb. Und Quellen wie die von avr-objdump sagen nur, daß FF ein Loch in den Opcodes ist und nichts implementiert.
    Disclaimer: none. Sue me.

  2. #12
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.02.2005
    Alter
    36
    Beiträge
    470
    Code:
    .include "2313DEF.inc"
    sbi DDRB,7            ;Port als Ausgang für die LED 
    Main:
    inc R16               ;R16 um eins erhöhen 
    out PORTB,R16 
    rjmp Main
    und den AVR mit 3Hz Tackten und du hast deine eine Sekunde ( laut Sim ).

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.02.2005
    Ort
    Freiburg
    Alter
    36
    Beiträge
    602
    mhh, da könnte man jetzt aber diskutieren...

    im Grunde brauchen alle Programme gleich viel Maschienen-Befehle, bei Rofo werden sie ohne zu springen nacheinander verarbeitet, und bei mir halt immer wiederholt.

    Ich hab seine Version jetzt mal getestet, funktioniert wunderbar, und das sozusagen mt drei Befehlen. Nur etwas zu langsam, etwas zwei Sekunden in der Minute zu wenig.

    Aber genauso wie meine Timerversion ist die leider nicht anpassbar geschweige denn auf einen anderen µC aanpassbar (aber trotzdem genial).

    Was für ein Hexcode sind eigentlich Nop's? Ich bin mir nicht sicher, aber ich glaube entweder 0x00 oder 0xff.

    Was mich aber wirklich interessiert ist, was mit dem schon beschriebenen Inhalt passiert wenn man einen neueren, kleineren Code einspielt. Wird der automatisch auf 0xff gesetzt und das geht so schnell das man es nicht bemerkt, oder wie ist das?

    Gruß,
    Mehto
    -

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.02.2005
    Ort
    Freiburg
    Alter
    36
    Beiträge
    602
    @teslanikola

    *g* schonmal einen AVR mit 3HZ getaktet?
    Ich glaub das niedrigste sind mit speziell gesetzten Fusebits ca. 33KHZ.

    Dein Code stimmt aber glaube ich nicht, nim statt inc com dann stimmts.
    Sonst brauchst du einen Takt von ca. 768 (wenn ich retzt richtig gedacht habe). Aber ist ja wie gesagt nicht machbar, nur im Simu.

    Gruß,
    Mehto
    -

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    55
    Beiträge
    781
    Zitat Zitat von Mehto
    *g* schonmal einen AVR mit 3HZ getaktet?
    Ich glaub das niedrigste sind mit speziell gesetzten Fusebits ca. 33KHZ.
    Man kan ein Uhrenquarz benutzen, dann ist man doch schon bei 32,768 kHz. Und über das Clock Prescale Register (gibt es zumindest beim Mega4 kann man die 32 kHz noch durch 256 teilen, macht 128 Hz ^^

    Oder per externer Taktquelle mit nem Funktionsgenerator dran, dann geht's noch weiter.

  6. #16
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Zitat Zitat von teslanikola
    und den AVR mit 3Hz Tackten und du hast deine eine Sekunde ( laut Sim ).
    Klopp mal den Simulator in die Tonne. Eine Schleife dauert 4 Takte (1+1+2 laut Brain 1.0).

    Mit externem Oszillator geht das schon, nen Takt von 4Hz zu machen. AVRs arbeiten ja voll statisch.

    Wie passt du deine Quelle auf andere Taktraten an?

    Zitat Zitat von Mehto
    Was für ein Hexcode sind eigentlich Nop's?
    Ein NOP ist 00:00. FF:FF ist wie gesagt Illegal Opcode.
    Vor dem Flashen wird z.B. mit "erase device" der Flash gelöscht, also auf FF gesetzt. Ansonsten steht da Müll rum bzw das, was vorher da stand und man kommt nen Fehler beim Proggen. Die meisten Progger machen das ohne das man was davon merkt.
    Disclaimer: none. Sue me.

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    55
    Beiträge
    781
    Mal so als Anregung: Hat schon einer mal geschaut ob man den 16bit-Timer mit 9 Takten so initialisieren kann dass er ne 1Hz-PWM erzeugt? (bzw. 0,5 Hz wenn das mit "im Sekundentakt blinken" gemeint ist)?
    Mit Clear Timer on Compare Match könnte man den an den Takt anpassen.

  8. #18
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Noch eins:

    Falls Unklarheit über den Flashverbrauch eures Programms bestehen, macht einfach ein Disassemble eurer "Spielwiese".

    Das Programm darf natürlich auch Konstanten enthalten, die im Flash gespeichert sind.
    Disclaimer: none. Sue me.

  9. #19
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Tipp: Bei der Lösung, die ich gefunden habe, verwende ich einen Interrupt.

    Welchen, verrat ich jetzt mal nicht. Sonst wisst ihr direkt, wie es geht
    Disclaimer: none. Sue me.

  10. #20
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Kann es sein, dass deine Lösung auf nem 90S8515 nicht funktioniert? Den hätt ich grad auf meinem Steckbrett drauf und wollte grad anfangen zu proggen, aber so wie ich denke das du es gemacht hast gehts mit ihm nicht...
    Lösungansatz per PN...

    [EDIT: Lösungansatz durch SprinterSB bestätigt, aber das mit den 90S8515 ist Quatsch]

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