Текущая скорость пикания и мигания завязана на скорость опроса датчика температуры, а он требует 750 мс на цикл. В принципе можно перенести это в прерывания.
Надо в файле interrupt_handler.ads объявить две переменные
Код: Выделить всё
beeping: boolean := false;
pragma Volatile(beeping);
beep_counter: Unsigned_16 := 0;
Код: Выделить всё
if beeping then
beep_counter := beep_counter + 1;
if beep_counter>=2000 then
beep_counter := 0;
BEEP := not BEEP;
end if;
else
BEEP := false;
end if;
Код: Выделить всё
beeping := t>90;
when 91..110 => pulse := not pulse; if pulse then R:=32; else R :=0; end if; BEEP := pulse;


