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