Доброго времени суток. При разработке программы для tiny2313 наткнулся на следующую проблемму: изменяются значения глбальных переменных. Влоть до того:
unsigned char ButtonNumber;
.
.
.
if(cmd==Play)
{
Mode=pass;//режим ввода 7мизначного пароля
ButtonNumber=0;
Beep();
}
void Beep()
{
Buzzer_ON;//вкл. пищалку
delay_ms(200);//использует __delay_cycles
Buzzer_OFF;//выкл. пищалку
}
После Beep() ButtonNumber уже не ноль а какое-то число. Есть отработки прерываний, но они переменную не трогают. Закономерности найти не могу. Подскажите, пожалуйста, где копать. Большое спасибо.