-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Bitte HELFEN Asuro

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2006
    Beiträge
    5

    Bitte HELFEN Asuro

    Anzeige

    Hallo Leute, ich bin auch ein Anfänger und möchte gerne ein Programm auf die Asuro drauf Flashen. Wenn ich die Test-Programme von Asuro, die mit geliefert waren mit dem Notepad compiliere, geht es einwandfrei. Aber wenn ich das Programm compilieren möchte geht es nicht. Liegt es an dem makefile , oder an was anderes???? Hier das Programm:


    /************************************************** *************************
    *
    * unsigned int data[2]; = Speicher für Liniensensor reservieren
    *
    * data[0] = linker Sensor, data[1] = rechter Sensor
    *

    *
    ************************************************** **************************/
    #include "asuro.h"

    int main(void)
    {
    unsigned int data[2];
    Init();
    FrontLED(ON);
    MotorDir(FWD,FWD);
    while(1)
    {
    LineData(data);
    if(data[0]>data[1])
    {
    MotorSpeed(50,20);
    }
    else
    {
    MotorSpeed(20,50);
    }


    if(PollSwitch()>=1)
    {
    StatusLED(RED);
    MotorDir(RWD,RWD);

    if(PollSwitch()>=7)
    {
    MotorSpeed(20,50);
    Msleep(1000);
    MotorDir(OFF,OFF);
    }
    else
    {
    MotorSpeed(50,20);
    Msleep(1000);
    MotorDir(OFF,OFF);
    }
    }
    }
    return 0;
    }

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    61
    Beiträge
    531
    Wenn mann es kompiliert da erscheint unten im ProgrammersNotepad2 die Meldung


    test.c:28: warning: implicit declaration of function `Msleep'


    Wenn mann da drauf Mauseklickt werd die linie

    Msleep(1000);

    highlighted.

    'Msleep' ist keine gultige Funktion im 'asuro.c' es sollte 'Sleep' sein.

    Oder nutzt Du irgeneine Bibliotheek met 'Msleep' Funktion?

    Fur 'Sleep' sind nur Werte von 0 bis 255 gultig so 1000 ware etwas zu viel.


    Gruss

    Henk

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2006
    Beiträge
    5
    Also ich habe es verbessert und kompiliert, dann bekomme ich diesen Fehler:

    von test.c:13:
    C:/WinAVR/avr/include/avr/signal.h:36:2: Warnung: #warning "This header file is obsolete. Use <avr/interrupt.h>."

    make: *** [test.o] Error 1

    > Process Exit Code: 2

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    61
    Beiträge
    531
    von test.c:13:
    Der Fehler befindet sich im Datei 'test.c' Zeile 13.

    Steht dort vielleicht "include asuro.h"?

    In 'asuro.h' sollte irgendwo

    #include <avr/interrupt.h>

    stehen

    Wenn Du dein Program mal hier postet, konnte ich's testen.

    Gruss

    Henk

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2006
    Beiträge
    5
    Also das Programm ist oben, aber ich gebe mal meine asuro.h ein:

    #ifndef ASURO_H
    #define ASURO_H

    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <avr/signal.h>
    #include <stdlib.h>

    #define FALSE 0
    #define TRUE 1

    #define OFF 0
    #define ON 1

    #define GREEN 1
    #define RED 2
    #define YELLOW 3

    /* neue Funktionen und Variablen*/
    #define LEFT 0
    #define RIGHT 1

    /* --- Globale Variablen -----------------------------------*/
    /*!
    * Tastsensor Wert bei Interrupt Betrieb. 0=keine Taste, 1= Taste gedrueckt
    */
    int switched;
    /*!
    * Odometriesensor Werte bei Interrupt Betrieb. encoder[0] links, encoder[1] = rechts. (Wertebereich 0..1023)
    */
    int encoder[2];
    void Go(int distance, int speed);
    void Turn(int degree, int speed);
    unsigned long Gettime(void);
    void Msleep(int dauer);
    void Encoder_Init(void);
    void Encoder_Set(int setl,int setr);
    void Encoder_Stop(void);
    void Encoder_Start(void);
    void PrintInt(int wert);
    int Batterie(void);
    void Init(void);
    inline void StatusLED(unsigned char color);
    inline void FrontLED(unsigned char status);
    void BackLED(unsigned char left, unsigned char right);
    inline void MotorDir(unsigned char left_dir, unsigned char right_dir);
    inline void MotorSpeed(unsigned char left_speed, unsigned char right_speed);
    void SerWrite(unsigned char *data,unsigned char length);
    void SerRead(unsigned char *data, unsigned char length, unsigned int timeout);
    void LineData(unsigned int *data);
    void OdometrieData(unsigned int *data);
    unsigned char PollSwitch (void);
    void StartSwitch(void);
    void StopSwitch(void);
    void Sleep(unsigned char time36kHz);
    /* ----------- END ------------ */


    /* --------------- INTERNAL ------------- */
    #define GREEN_LED_ON PORTB |= GREEN_LED /*!< Gruene Status LED an */
    #define GREEN_LED_OFF PORTB &= ~GREEN_LED /*!< Gruene Status LED aus */
    #define RED_LED_ON PORTD |= RED_LED /*!< Rote Status LED an */
    #define RED_LED_OFF PORTD &= ~RED_LED /*!< Rote Status LED aus */

    #define FWD (1 << PB5) /*!< Motor vorwaerts */
    #define RWD (1 << PB4) /*!< Motor rueckwaerts */
    #define BREAK 0x00 /*!< Motor bremsen */
    #define FREE (1 << PB4) | (1 << PB5) /*!< Motor freilaufend */

    #define IRTX (1 << PB3) /*!< PB3 Port fuer Infrarot Transmitter LED */
    #define GREEN_LED (1 << PB0) /*!< PB0 Port fuer Gruene Status LED */
    #define RED_LED (1 << PD2) /*!< PD2 Port fuer Rote Status LED */

    #define PWM (1 << PB1) | (1 << PB2) /*!< PB1, PB2 Ports fuer Pulsweitenmodulation der Motor Geschwindigkeit */
    #define RIGHT_DIR (1 << PB4) | (1 << PB5) /*!< PB4, PB5 Ports fuer Drehrichtung rechter Motor */
    #define LEFT_DIR (1 << PD4) | (1 << PD5) /*!< PD4, PD5 Ports fuer Drehrichtung linker Motor */

    #define SWITCHES (1 << PD3) /* PD3 Port fuer Tastsensor */
    #define SWITCH_ON PORTD |= SWITCHES /* Tastsensor an */
    #define SWITCH_OFF PORTD &= ~SWITCHES /* Tastsensor aus */

    #define BATTERIE (1 << MUX0) | (1 << MUX2) /*!< ADC5 A/D Wandler Port fuer Batterie Abfrage */
    #define SWITCH (1 << MUX2) /*!< ADC4 A/D Wandler Port fuer Tastsensor */
    #define IR_LEFT (1 << MUX0) | (1 << MUX1) /*!< ADC3 A/D Wandler Port fuer Linienfolger Fototransistor links */
    #define IR_RIGHT (1 << MUX1) /*!< ADC2 A/D Wandler Port fuer Linienfolger Fototransistor rechts */
    #define FRONT_LED (1 << PD6) /*!< PD6 Port fuer Front LED */

    #define ODOMETRIE_LED (1 << PD7) /*!< PD7 Port fuer Odometrie LED */
    #define ODOMETRIE_LED_ON PORTD |= ODOMETRIE_LED /*!< Odometrie LED an */
    #define ODOMETRIE_LED_OFF PORTD &= ~ODOMETRIE_LED /*!< Odometrie LED aus */

    #define WHEEL_LEFT (1 << MUX0) /*!< ADC1 A/D Wandler Port fuer Odometrie Sensor links*/
    #define WHEEL_RIGHT 0 /*!< ADC0 A/D Wandler Port fuer Odometrie Sensor rechts */

    #endif /* ASURO_H */

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826
    Also, damit man das besser lesen kann: Stell Quelltext bitte immer in die [ code ] [/ code ] Tags. Danke.

    Also die Msleep funktion die gibts erst in der erweiterten Version der Asuro Lib. Benutz mal die Suchfunktion hier, oder geh auf Sourceforge und such da nach Asuro, dann findest du die Lib da.

    Andun
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    61
    Beiträge
    531
    C:/WinAVR/avr/include/avr/signal.h:36:2: Warnung: #warning "This header file is obsolete. Use <avr/interrupt.h>."
    In meine Datei 'C:/WinAVR/avr/include/avr/signal.h' befindet sich nicht so eine Warnung.

    Guck mal in deine Datei.

    Vielleicht hast Du die neuesten WinAvr installiert? (Die Asuro komt mit eine altere version)

    Gruss

    Henk

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2006
    Beiträge
    5
    Hmm okay, dann werde ich mal das AVR nehmen, das bei Asuro dabei war auf der CD. Bloß, hat es bei dir funktioniert??? Geht es oder nicht ???

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    61
    Beiträge
    531
    Bei mir compiliert deine asuro.h ohne fehler.

    Gruss

    Henk

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2006
    Beiträge
    5
    Und das Programm läuft auch ohne probleme???

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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