- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: Asuro und printf("\nHallo Welt!!!");

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    25.08.2005
    Ort
    Berlin
    Beiträge
    53
    Anzeige

    LiFePo4 Akku selber bauen - Video
    @stochri
    Das ist kein Problem (siehe Selftest). Ich möchte, dass der Asuro beim Emfange eines Zeichens ein Interrupt auslöst z.B. durch RXCIE. Aber das Programm funktioniert nicht richtig. Irgendwo beim Übertragen über die IR-Schnittstelle habe ich ein Denkfehler. Ich habe ein Sourcecode gefunden, der eine RS232 mit einer SPI-Schnittstelle Aufbaut.
    Angehängte Dateien Angehängte Dateien

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Bei mir wartet der Asuro immer auf ein Zeichen und führt dann eine Aktion aus.:

    byte receive()
    {
    byte c;
    /* Warten auf ein Zeichen von der seriellen Schnittstelle */
    SerRead(&c, 1, 0);
    toggle_led();
    return c;
    }


    while(1)
    {
    /* Warten auf ein Kommando der seriellen Schnittstelle */

    command = receive();

    switch(command)
    {
    case TEST:
    {
    .......

    Ich habe diese Art der Kommunikation schon früher in Mikrocontrollerrn verwendet, normalerweise kann beim Warten auf das Zeichen auch irgend eine Aktion durchführen. Das Empfangen und Verarbeiten des Zeichens geht so schnell, dass man keine Interrupt-getriebene Komunikation braucht.

    Gruss,
    stochri

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Bei mir wartet der Asuro immer auf ein Zeichen und führt dann eine Aktion aus.:

    byte receive()
    {
    byte c;
    /* Warten auf ein Zeichen von der seriellen Schnittstelle */
    SerRead(&c, 1, 0);
    toggle_led();
    return c;
    }


    while(1)
    {
    /* Warten auf ein Kommando der seriellen Schnittstelle */

    command = receive();

    switch(command)
    {
    case TEST:
    {
    .......

    Ich habe diese Art der Kommunikation schon früher in Mikrocontrollerrn verwendet, normalerweise kann beim Warten auf das Zeichen auch irgend eine Aktion durchführen. Das Empfangen und Verarbeiten des Zeichens geht so schnell, dass man keine Interrupt-getriebene Komunikation braucht.

    Gruss,
    stochri

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    25.08.2005
    Ort
    Berlin
    Beiträge
    53
    OK, jetzt funktionieren die Interrupt richtig.

    Ich habe ein mini Test Programm geschrieben.
    Die fdevopen Sache ist noch nicht fertig, kommt aber bald.
    Angehängte Dateien Angehängte Dateien

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    25.08.2005
    Ort
    Berlin
    Beiträge
    53
    Den Motorspeed über Hyperterminal einstellen.
    Angehängte Dateien Angehängte Dateien

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    25.08.2005
    Ort
    Berlin
    Beiträge
    53
    Hallo @all

    Jetzt ist es möglich scanf() und printf() zu benutzen.

    Nachteil:
    1. Overhead ist grösser als wie bei SerWrite() und SerRead()
    2. Keine Interruptfähige Ein-/Ausgabe mehr
    3. Fliesskommazahlen werden nicht verarbeitet.

    In der makefile-Datei gibt es weiter Optionen die man einstellen kann.
    Leider funktioniert bei mir das nicht:
    -Wl,-u,vfscanf -lscanf_flt -lm
    -Wl,-u,vfprintf -lprintf_flt -lm
    hat jemand einen Tipp?

    Gruss Winne
    Angehängte Dateien Angehängte Dateien

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

LiFePO4 Speicher Test