если абсолютное количество тактов мало волнует, а нужна задержка на несколько микросекунд, но чтоб не зависело от установленой на данный момент оптимизации, на эту функцию надо вписать оптимизацию ручками. Для Кейл-РеалВиев это
#pragma O....Код
#pragma O3 Ospace
void delay_us( unsigned int us )
{
for (; us--; )
;
}
// или так, у меня на SAM7S при тактовой 48МГц приблизительно совпадает с микросекундами.
#pragma O3 Ospace
void delay_us( unsigned int us )
{
for ( us *= 8; us--; )
;
}