- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Hufiger Einsatz von SerPrint(); fhrt zu groen Problemen

  1. #11
    Anzeige

    E-Bike
    hi sebastian, du hast mir sozusagen zu 50% geholfen

    denn wenn ich "zeichen" dann ausgebe kommt im HT folgendes an:

    Code:
     Flash! O

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    53
    Beitrge
    2.236
    Hallo ElTransistor,

    Hmm,
    ich sehe gerade, da es Probleme geben knnte, weil ich die Senderoutine einfach aus irgendeinem meiner 'nicht Asuro' Programme rauskopiert habe, und da gibt es leider kleine diferenzen.

    Versuch es mal damit:
    Code:
    void push_flash(const char *string){
    char zeichen;
      while((zeichen = pgm_read_byte(string))) {
        Uart_Putc(zeichen);
        string++;
        }
    }
    Ich hoffe damit erreichst Du Dein Vorhaben.

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

  3. #13
    hi..

    ich hab das gestern nacht nochmal versucht, und zuerst hat es wunderbar geklappt! aber als ich dann die funktion in mein programm bernommen habe hat er wieder nur zeichen ausgespuck..und dann hab ichs nochmal von dir kopiert und nun geht es auch mit deinem beispiel nicht

    Code:
    #include "asuro.h"
    #include "avr/io.h"
    #include "avr/pgmspace.h"
    #include "string.h"
    
    void push_flash(const char *string){
    char zeichen;
      while((zeichen = pgm_read_byte(string))) {
        UartPutc(zeichen);
        string++;
        }
    } 
    
    int main(void)  {
        Init();
        push_flash("lskjdhflkajshdlfkjhslkdjfhlkjhlkj");
        return 0;
    }

    liefert
    Code:
    ߓ$!#ߑϕЀ߀$]
    ich wei nur nich warum das einmal ging und dann wieder nicht..

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    53
    Beitrge
    2.236
    Hallo ElTransistor,

    2 Probleme:

    1. ich habe geschrieben
    Code:
    push_flash(PSTR("Hallo, ich bin im Flash!\r\n"));
    Du aber
    Code:
    push_flash("lskjdhflkajshdlfkjhslkdjfhlkjhlkj");
    Na Fehler gefunden ?

    2.
    Ich vermisse eine Endlosschleife in deinem Programm, das ist nicht gut.

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

  5. #15
    AH du hast recht! ja das ist der nachteil wenn man nachts noch prgrammieren will

    ich glaube das war es, man ich hasse es immer diese kleinigkeiten zu bersehen

    thx!

  6. #16
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beitrge
    4.068
    sowas ist in assmbler ja recht elegant zu lsen... aber da sieht man ganz gut die grenzen dec compilers :P
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.11.2006
    Ort
    Geislingen a. d. Steige
    Alter
    33
    Beitrge
    344
    Hi,
    Steht nicht am ende eines Strings eine Dezimal "0"?

    MfG Maritn

  8. #18
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    53
    Beitrge
    2.236
    Hallo Damaltor ,

    sowas ist in assmbler ja recht elegant zu lsen... aber da sieht man ganz gut die grenzen dec compilers
    Versteh ich nicht so recht, was Du meinst, warum erreicht der Kompiler hier seine Grenzen ?

    Meinst Du, weil man nicht so einfach aus dem Flash lesen kann?
    Wenn ja liegt das nicht am Kompiler, sondern an der AVR Architektur wrde ich mal sagen.
    Trotzdem haben die avr-gcc Macher die Problematik gut gelst, man mu es nur wissen !

    @Martin Funk ,
    Du hast recht, ich wei aber nicht recht, worauf Du hinauswillst.

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

  9. #19
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Sdwestdeutschland
    Beitrge
    1.147
    Blog-Eintrge
    3
    sag mal, izaseba, warum nennst Du Deine Routine eigentlich "push_flash". Um etwas zu holen, nimmt man doch normalerweis "pop" statt push

  10. #20
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    53
    Beitrge
    2.236
    Hi stochri,
    nun ja, kommt drauf an, von welcher Seite man das ganze sieht

    Hier sehe ich das von der UART Seite...

    man knnte auch getfromflashandputinuart sagen, oder wei was ich.
    die Routne pushed ja was in UART (poped aber aus den flash )

    Ehrlichgesagt habe ich mir keine Gedanken darber gemacht \/
    Schlag was sinvolles vor, dann benenne ich sie um

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

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhnge hochladen: Nein
  • Beitrge bearbeiten: Nein
  •  

LiFePO4 Speicher Test