Цитата
misyachniy
Jan 13 2006, 18:12
impatt
В GCC есть SIGNAL () и INTERRUPT().
Разница между ними в наличии команды sei() в INTERRUPT().
____________________________________________________________
Цитата
impatt
...Уверен, что всё это описано в доке,...
____________________________________________________________
____________________________________________________________
Функции обработки прерываний SIGNAL() & INTERRUPT()
были до версии WinAVR-20050214-install.exe
прописаны в
...\WinAVR\avr\include\avr\signal.h
и описаны в
...\WinAVR\doc\avr-libcavr-libc-user-manual-1.2.3.pdf
_________
Но с версии WinAVR-20060125-install.exe
в
...\WinAVR\doc\avr-libc\avr-libc-user-manual-1.4.3.pdf
функция INTERRUPT() объявлена deprecated (осуждаемой)
и в файлах не прописана. Дескать, (стр.45...-1.4.3.pdf)
"As this macro has been used by too many unsuspecting people in the past, it has been
deprecated, and will be removed in a future version of the library. Users who want to
legitimately re-enable interrupts in their interrupt handlers as quickly as possible are
encouraged to explicitly declare their handlers as described above."
"above" - это ссылка на стр.128., где разъясняется как сделать
вложенные прерывания.
_________________
Александр
2006 05 27