Цитата(defunct @ May 29 2006, 18:10)

Цитата(_4afc_ @ May 29 2006, 15:54)

Ну и вообще прерывания лучше на ассемблере писать, а то слишком много ресурсов съедает.
Не убедительно ;>
В таком случае лучше вообще все писать на асм..
Я так и сделал. Просто компилируется всё данным пакетом (WinAVR).
В прерываниях я имел в виду, что при входе там несколько регистров суются в стэк.
Я же выделил несколько регистров для прерываний и в одном из них хранил регистр флагов.
Это ускоряет начало работы вашего обработчика.
Больше всего мешает тормознутость самой A48 - посылки SPI выполняются с ощутимой задержкой.
По поводу printf и прочего - не знаю, я использую только синтаксис си, без использования каких-либо функций из поставок компилятора.
CVAVR- не удобен своим визардом, в частности в визарде делители для таймеров ограничены.
Кроме того для A128 генерился код, который не работал сразу (пара регистров не инитилась).
ImageCraft - очень близок к WinAVR, но я замучился ставить каждое действие в скобки и постоянно преобразовывать типы перенося рабочий проект из WinAVR в ImageCraft. Читаемость текста пропала абсолютно.
Цитата
Я WinAVR использую года 2 и за это время сложилось достаточно положительное впечатление, но не без причуд. Похоже на уровне оптимизации WinAVR "не знает" что регистры 8 разрядные (разработчики портировали с другой архитектуры без существенной переработки, это моё личное мнение)
полностью согласен, отсюда и страсть к перенисению всех данных в озу.