-         

Ergebnis 1 bis 2 von 2

Thema: Seltsames Verhalten bei Wait Funktion...

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    28.10.2005
    Beiträge
    9

    Seltsames Verhalten bei Wait Funktion...

    Anzeige

    Hallo, ich bin gerade dabei die Rn_Minicontrol mit C zu Programmieren .
    Atmega 168.
    Dabei bin ich auf folgendes seltsames Phänomen gestoßen. Ich habe vor mit folgender Funktion einfach eine Zeitlang zu warten.
    Code:
    ISR(TIMER2_OVF_vect) {
    	count++;
    	if(!count){ 
    		time ++;
    	}
    }
    
    void Msleep(unsigned int timeb)
    {   
    	time=0;
    	while (time <= 2) {
    		//PrintInt(time);
    	}
    	
    }
    Der Timer 2 wird im Hauptprogramm wie folg initialisiert.


    Code:
    TIMSK2 |=0x1; //Enable Interrupt Timer2
    	TCCR2A=0;
    	TCCR2B=0x07;
    Sobald ich das auskommentierte PrintInt nicht auskommentiere funktioniert es.
    solbald es auskommentiert ist bleibt er in der while schleife endlos hängen ... keine Ahnung warum vieleicht kann mir wer helfen.
    Die PrintInt Funktion macht folgendes:
    Code:
    void PrintInt(int wert)
    {  	
    	char text[6]="      ";
    	itoa(wert,text,10);
    	SerWrite(text,5);
    	SerWrite("\n\r",2);
    }
    void SerWrite(unsigned char *data,unsigned char length)
    {
    	unsigned char i = 0;
    	UCSR0B = 0x08; // enable transmitter
    	while (length > 0) {
    		if (UCSR0A & 0x20) { // wait for empty transmit buffer
    			UDR0 = data[i++];
    			length --;
    		}
    	}
    	while (!(UCSR0A & 0x40));
    	for (i = 0; i < 0xFE; i++)
    		for(length = 0; length < 0xFE; length++);
    }

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    u.a. hast Du damit das Warteschleifen-Problem, schau Dir dazu diese Seite im Wiki an:
    http://www.roboternetz.de/wissen/ind.../Warteschleife

    Edit:
    dabei meine ich die While-schleife

Berechtigungen

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