-         

Ergebnis 1 bis 3 von 3

Thema: Asuro Quellcodes

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.04.2011
    Beiträge
    14

    Asuro Quellcodes

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo liebe RoboterNETZ Community

    Hier Könnt ihr Quellcodes und hex dateien zum Thema Asuro reinstellen. Hier ein paar Quellcodes die ich gefunden habe:
    Geändert von IDG (19.04.2011 um 13:04 Uhr)

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    18.04.2011
    Beiträge
    14
    Multitasking (Quelle: Roboterclub-Freiburg)

    PHP-Code:
      //*******************************************************************
    //
    // Multitasking ohne Betriebsystem
    //
    // Beispiel fr ASURO Roboter
    //
    // In diesem Programm laufen mehrere Programmteile quasi "gleichzeitig"
    // Oft ist es bei der Roboterprogrammierung notwendig, dass mehrere
    // Aufgaben zur gleichen Zeit durchgefhrt werden sollen.
    // Die Hauptschleife wird mit 1/10 Sekunde durchlaufen, daher können
    // Reaktionszeiten von 0,1 Sekunden erreicht werden.
    //
    // Die Front-Led blinkt unabh?gig von den Rckwärtsleds
    // Gleichzeitg werden die Motoren gestartet, wenn der Zeitgeber der
    // RückwertsLED's einen bestimmten Wert errreicht.
    //
    // 17.5.2007 ch
    //
    //*******************************************************************
    #include "asuro.h"

    int main(void)
    {
        
    uint32_t nextzeit=100// Zeitgebervariable mit 32 Bit
        
    uint16_t funktion1_zeit=0// Zeitgebervariable fr 1.Funktion
        
    uint16_t funktion2_zeit=0// Zeitgebervariable fr 2.Funktion
        
    uint16_t funktion3_zeit=20// Zeitgebervariable fr 3.Funktion

        
    Init();

        while(
    1)
        {
    //*******************************************************************
    // Funktion1: Statusleuchtdiode blinken lassen
    //*******************************************************************
            
            
    if (funktion1_zeit==0)
            {
                
    StatusLED(GREEN);
            }
            if (
    funktion1_zeit==10// Nach 1 Sekunde auf Rot umschalten
            
    {
                
    StatusLED(RED);
            }
            
    funktion1_zeit++;
            if (
    funktion1_zeit>20funktion1_zeit=0;

    //*******************************************************************
    // Funktion1: Ende
    //*******************************************************************
    //*******************************************************************
    // Funktion2: Rckwärtige Leuchtdioden abwechselnd schalten
    //*******************************************************************
            
            
    if (funktion2_zeit==0)
            {
                
    BackLED(OFF,ON);
            }
            if (
    funktion2_zeit==15// Nach 1,5 Sekunde auf Rot umschalten
            
    {
                
    BackLED(ON,OFF);
            }
            if (
    funktion2_zeit==49)
            {
                
    funktion3_zeit=0// hiermit wird die Funktion3 gestartet
            
    }
            
    funktion2_zeit++;
            if (
    funktion2_zeit>50funktion2_zeit=0// 3 Sekunden

    //*******************************************************************
    // Funktion2: Ende
    //*******************************************************************
    //*******************************************************************
    // Funktion3: Motoren benutzen
    // Diese Funktion wird gestartet, wenn die Variable
    // function3_zeit auf 0 gesetzt wird
    //*******************************************************************
            
            
    if (funktion3_zeit==0)
            {
                
    MotorSpeed(255,255);
                
    MotorDir(FWD,FWD); // Motoren vorwäts
            
    }
            if (
    funktion3_zeit==5// 0,5 Sekunden
            
    {
                
    MotorSpeed(255,255);
                
    MotorDir(RWD,FWD);
            }
            if (
    funktion3_zeit==10// 0,5 Sekunden
            
    {
                
    MotorSpeed(0,0);
            }

            if (
    funktion3_zeit<15funktion3_zeit++; // Funktion beenden, wenn 15 erreicht

    //*******************************************************************
    // Funktion3: Ende
    //*******************************************************************

            // Schleifendurchlauf auf 0,1 Sekunden synchronisieren
            
    while(Gettime()<nextzeit); // warten, bis Zielzeit erreicht
            
    nextzeit=Gettime()+100// Zeitgeber auf 100 Millisekunden= 0,1 Sekunde stellen
        
    }


  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    18.04.2011
    Beiträge
    14
    Zufallszahlengenerator und sichere Tasterabfrage (Quelle: Roboterclub-Freiburg)

    PHP-Code:
    //
    // uint8_t zufall()
    //
    // Liefert eine 8Bit Pseudozufallszahl zurück,
    // die Zahlenfolge wiederholt sich spätestens nach 65535 Aufrufen
    //

    uint8_t zufall()
    {
        static 
    uint16_t startwert=0x0AA;

        
    uint16_t temp;
        
    uint8_t n;
            
        for(
    n=1;n<8;n++)
        {
            
    temp startwert;
            
    startwert=startwert << 1;
        
            
    temp ^= startwert;
            if ( ( 
    temp 0x4000 ) == 0x4000 )
            {
                
    startwert |= 1;
            }
        }
        
        return (
    startwert);
    }
    //*******************************************************************
    // uint8_t KeyPressed(void)
    //
    // zeigt, ob eine Taste des ASUROs gedrckt ist.
    //
    // Die Funktion nutzt nicht den AD-Wandler wie die Funktion Pollswitch,
    // sondern fragt die Tasten direkt digital ab.
    // Grund: Funktion Pollswitch arbeitet nicht zuverlaessig.
    //
    // 23.5.2007 ch
    //
    //*******************************************************************
    uint8_t KeyPressed(void)
    {
        
    uint8_t flag;

        
    DDRD &= ~SWITCHES// High Impedance ( Input ) 
        
    DDRC |= (1<<PC4); // ADC-Switch-Pin to Output 
        
    PORTC |= (1<<PC4); // load capacitor / Pull up 
        
    Msleep(1);
        
    DDRC &= ~(1<<PC4); // Set ACD-Switch to Input 
        
    PORTC &= ~(1<<PC4); // High Impedance 

        
    Msleep(1);

        if(
    PIND&SWITCHESflag=FALSE;
        else 
    flag=TRUE;

        return 
    flag;


Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 17.11.2017, 17:45
  2. Antworten: 12
    Letzter Beitrag: 11.02.2014, 01:06
  3. Quellcodes RP5
    Von Robofan4 im Forum Robby CCRP5
    Antworten: 3
    Letzter Beitrag: 07.09.2008, 12:59
  4. Antworten: 35
    Letzter Beitrag: 28.01.2008, 17:24
  5. Antworten: 3
    Letzter Beitrag: 15.05.2007, 13:35

Berechtigungen

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