so, jetzt habe ich rumprobiert.

Mit IDLE scheints mit einem normalen Msleep zu gehen:

Code:
#include "asuro.h"
#include <avr/interrupt.h>
#include <avr/sleep.h>
//------------------------------------------------------------------
int main(void)
{
	Init();

	StatusLED(OFF);
	BackLED(ON,ON);
	MotorDir(FWD,FWD);
	MotorSpeed(200,0);
	Msleep(5000);

	set_sleep_mode ( SLEEP_MODE_IDLE );

	for (int16_t i = 1; i <= 10; ++i)
		{
			BackLED(OFF,OFF);
			StatusLED(YELLOW);
			sleep_enable();
			sleep_mode();
			sleep_disable();
			Msleep(500);
		}

	MotorSpeed(0,0);
	StatusLED(RED);
  	while (1);
  	return 0;
}
das gleiche mit PWR_SAVE wie zu erwarten leider nicht: die BackLEDs gehen brav aus, die StatusLED wird gelb, der Motor dreht sich schneller und so bleibts.
Code:
...
set_sleep_mode ( SLEEP_MODE_PWR_SAVE );
ASSR = (1<<AS2);
...
Mit Interrupts gehts wahrscheinlich - hilft mir bitte jemand dabei? (Ich kapiers nicht!)

da gibt es noch eine Anleitung: ...WinAVR-20070525/doc/avr-libc/avr-libc-user-manual/group__avr__sleep.html
und da:http://www.mikrocontroller.net/articles/Sleep_Mode

Gruss
M.