Вот столкнулся с таой проблемой.
Есть у меня таймер, тикает с частотой 1 гц, происходит прерывание, а в этом прерывании мне нужно мигать светодиодом, частота его мигания достаточно низкая, что-бы можно было посчитать количество вспышек (от 1 до 12). Вспышки формирую функциями delay_ms()
Код: Выделить всё
void blink_led(char num, char time_on, int time_off){
char i = 0;
for(i = 0; i< num; i++)
{
LED_pin = 0;
delay_ms(time_on);
LED_pin = 1;
delay_ms(time_off);
}
}
На каком-то заморском форуме вычитал, что вызывать delay_ms() в прерывании нельзя, но почему не понятнь. Хотя какая разница, delay_ms() это вроде обычный пустой цикл, и все прерывания должны приходить.
Может я чего напутал или недопонял....
В чем может быть причина НЕприхода юарт прерываний???


