hallo, es geht jetzt.
die variablen müssen "Volatile" werden, weil diese beim programmablauf immer einen willkürlichen wert bekommen. weiterhin werden auch durch den compiler nicht-volatile-variablen wegoptimiert.
ich habe mir noch eine einfache for-schleife erstellt, die im avr-studio bei einem durchgang 0,75us verbraucht und habe dann dem entsprechend die zahlen für die us umgerechnet 10us = 14 und 200us ist 267.
Code:
// Das mit PD1 auf PORTD ist nur ein Beispiel, jeder beliebige Pin kann gewält werden 
#define    MESS_PORT           PORTB 
#define    MESS_PORT_RICHTUNG  DDRB 
#define    MESS_PIN            PINB 
#define    MESS_BIT            PB0               // Echo-Trigger Eingang  oder einfach Messeingang 

#define US_PORT                PORTB 
#define US_PORT_RICHTUNG       DDRB 
#define US_BIT                 PB1               // Der Pin kommt zum Trigger-Puls Eingang 

uint16_t start_messung(void) 
{ 
   volatile uint16_t wert,i,x,x1;
   x=14;
   x1=267;
   wert=0;
   
   US_PORT_RICHTUNG|=(1<<US_BIT);         // US_PIN auf Ausgang 
   US_PORT|=(1<<US_BIT);     // Trigger-Puls auf high  
   for (i=0; i<x; i++)
    asm volatile("nop");
    US_PORT&=~(1<<US_BIT);   // Trigger-Puls Eingang wieder auf low   
   for (i=0; i<x1; i++)
    asm volatile("nop");
   // Wenn keine srf04 Messung dann einfach ab hier 
   TCNT1=0;                   // Timerregister  auf 0 
   TCCR1B|= (1<<CS11);      // Timer starten 
   while (MESS_PIN & (1<<MESS_BIT))     // Warten bis Echo/Mess Eingang auf low 
   wert=TCNT1; 
   TCCR1B&= ~(1<<CS11);     // Timer wieder aus    
   return wert; 
}
läuft jetzt im normalen interrupt ganz toll. die messung läuft sehr genau.
man lernt nie aus, habe heute noch mal mit der "volatile" gelesen und der wegoptimierung.
ihr alle habt eine hervorragende arbeit geleistet, ich hoffe es bleib weiterhin so. werde das andere musterprogramm auch noch umschreiben.
jetzt habe ich ein nächstes thema : ein i2ceeprom 24c64 oder 24c256 beschreiben und lesen. es gibt zwar einige vorschläge, aber da steige ich nicht durch. vielleicht interessiert euch auch das thema, und macht es übersichtlich . vielen dank.
mfg pebisoft