glacier писал(а):я тебя тока шо представил с гандоном на голове![]()
Гы!!! А это было бы смешно.
glacier писал(а):я тебя тока шо представил с гандоном на голове![]()

neonix писал(а):Оказалось что в WinAVR есть глюк, если стоит определенная комбинация ключей оптимизации то у МК при сравнении в прерывании срывает башню... Вот такие вот дела, надо отписаться авторам WInAVR о находке. Доверься блин опенсорцным проектам
Код: Выделить всё
-mno-interruptsneonix писал(а):Пухич Сегодня проанализировал флаги компилятора оказалось сам дуракв мейкфайле какимто боком от старого проекта осталась опция
Код: Выделить всё
-mno-interrupts
т.е. удаление таблицы векторов прерываний,
при этом прерывание срабатывалоно в нём переменные не изменяли своего значения! В переменной после срабатывания прерывания каждый раз был различный мусор, а не нужные данные.
Тем не менее сделал для себя вывод, переписывать с нуля makefile для каждого нового проекта
PS: Вчера писал под действием сна и матерных впечатлений от потраченных впустую нескольких часов
Пухич писал(а):Хм. А можно выяснить, как это оно срабатывало? Т.е. что именно срабатывало, какой обработчик выполнялся? Я так понимаю, что в обработчике менялись некие глобальные переменные? Или он возвращал через стек? А то уж больно все подозрительно, у меня подобные истории всегда вызывают приступ шпиономании с влезанием в ассемблер.
Пухич писал(а):Одно плохо - пропал повод поругать ВинАВР. А мне хотелось, мне это жуткое творение все никак к душе не ложится. Это не ИДЕ, а херня какая-то.
neonix писал(а):В прерывании менялось значение глобальной переменной, а так же срабатывала функция бипера на одном из портов (для проверки работоспособности), значение в переменной портилось, а вот функция отрабатывала вполне нормально. Это и сбило меня с правильного пути
Ну меня WinAVR устраивает, правда вчерашняя ситуация мне подпортила нервы
