спасибо - работает!!!!!!!
Цитата
extern - если переменная объявляется во внешнем файле - например в хидере delay.h приведенном выше.
volatile - если нужно предотвратить повреждение содержимого переменной в прерывании, компилятор просто не будет размещать эту переменную ни в одном из 32-х регистров общего назначения и не будет пытаться выкинуть её при оптимизации кода.
static - если переменная локальная т.е. объявлена в какой либо функции и не должна сохранять свое значение до следующего вызова этой функции.
я еще не знаю отличий между extern, static and volatile.
стоит ли верить выше изложенному (нашел в гугле, сайте [banned])
-------------
Если это не соывсем точно, разъясните плиз вкратце.
Цитата(i.dmitry @ Jul 26 2007, 22:51)

спасибо - работает!!!!!!!
я еще не знаю отличий между extern, static and volatile.
стоит ли верить выше изложенному (нашел в гугле, сайте [banned])
-------------
Если это не соывсем точно, разъясните плиз вкратце.
Вот что нашел:
Цитата
When you use static to declare a variable inside a function, that variable is initialized at startup (like other global variables) and retains its value between calls to that function. It is not reinitialized on entry to the function.
а если вместо static char я использую просто char - у меня не работет. это значит что при выходе из функции обр прерывания - она (переменная) обнуляется что-ли?