Страница 2 из 2
Добавлено: Вс апр 19, 2009 09:10:32
ikarab
А прожект где ?
Добавлено: Вс апр 19, 2009 16:01:47
Yurivz
ikarab писал(а):А прожект где ?
Вот.
Добавлено: Пн апр 20, 2009 00:58:43
WandererSc
Да Proteus 7.4 глючит.
У меня на Mega16 отключенный Watchdog всё время срабатывает.
Хотя в 7.1 и в железе работает как надо.
P.S. Прожект своим 7.1 не могу открыть
Добавлено: Пн апр 20, 2009 07:16:16
mr.Kirill
WandererSc писал(а):Да Proteus 7.4 глючит.
У меня на Mega16 отключенный Watchdog всё время срабатывает.
Хотя в 7.1 и в железе работает как надо.
Вы еще уточните тот момент, какая у Вас библиотека AVR.DLL или AVR2.DLL
у меня Proteus 7.4 SP3, библиотека AVR2.DLL полет нормальный, никаких проблем с ATmega16 нет.
Из всего разнообразия проектов лично проверена работа ATtiny2313, ATmega8/16/32/128 и все замечательно работает. Бывают только ошибки связанные с моими явными "косяками".
Для всех: Хватит тут заявлять о глючности, для начала повысьте свой уровень программирования до "проф" уровня. Proteus это программа, она не может знать и симулировать все что Вам в голову взбредет. Ведь если Вы написали программу для вольтметра, то она же не будет измерять емкости конденсаторов, без дополнительных доработок, так и Proteus, он знает что и как работает, это заложено в его алгоритме симуляции, а вы пытаетесь задать кривой режим работы симулятора, понятное дело что он будет выдавать ошибки.
Между прочим - читать на что ругается программа очень полезно и позволяет исправить баги в коде прошивки.
Да, и еще, если говорите об ошибках - предьявите проект, без него это пустая болтовня. Если показать нечего - молчите лучше, "Слово - серебро, молчанье - золото". Это форум, он для решения конкретных вопросов, а не книга жалоб.
PS. Если манера написания поста или его содержание Вас в чем то обидело или задело - приношу свои извинения.
Добавлено: Пн апр 20, 2009 07:45:31
ARV
mr.Kirill, не нужно эмоций. протеус, если он заявлен как средство, симулирующее аппаратуру МК, обязан как минимум верно симулировать внутреннюю периферию МК, либо
документировать несоответствия. не скажу за все версии, но я лично сталкивался и сталкиваюсь с разными серьезными несоответствиями поведения протеуса с тем, что написано в даташите на AVR. эти несоответствия недокументированы, следовательно - это баги. баги очень серьезные, делающие порой невозможной отладку в принципе правильных программ. часть примеров есть на
моем сайте, с частью пока разбираюсь...
последнее, что обнаружил и что сильно мешает: протеус не выполняет "маскирование программного счетчика". в AVR программный счетчик аппаратно не содержит старших битов, т.е. может вести счет адресов только в пределах объема FLASH. таким образом, для МК с объемом памяти в 2К переход к адресу 2К+2 приведет к попаданию в ячейку с адресом 2. протеус же при этом выдает ошибку недопустимого кода команды... в частности,
WinAVR очень любит использовать такой "переворот адресов" - абсолютно законный с точки зрения архитектуры AVR!!! - а протеус такие программы не симулирует.
так что прежде чем рвать на себе волосы "какой я плохой программист" убедитесь сначала, что это не протеус вам козни строит

Добавлено: Пн апр 20, 2009 09:30:10
kalobyte
в новой либе добавили новых фич
размер вырос с 400к до 2.5мб
добавились и глюки и нет ничего плохого, в том, чтобы написать о них
кстати, какой смысл в выставлении битов конфигурации?
зачем бит последовательного программирования ввели? как он влияет на работу кода?
зачем делители тактовго генератора? достаточно было свою частоту ввести и все
зато глюков столько, что пришлось ставить 7.2, а он не держит elf
Добавлено: Пн апр 20, 2009 10:02:17
Yurivz
Что касается моего примера с LCD. Реальный LCD имеет знакоместо 5x8, в реальном железе все работает. Змулируемый протеусом дисплэй имеет почему-то знакоместо 5x7, соответственно режет низ символа, хотя если из самого протеуса запросить datasheet на дисплэй - там четко сказано, что знакоместо 5x8. Протеус не соответствует своей-же документации.
Добавлено: Пн апр 20, 2009 10:22:15
ARV
kalobyte писал(а):кстати, какой смысл в выставлении битов конфигурации?
зачем бит последовательного программирования ввели? как он влияет на работу кода?
зачем делители тактовго генератора? достаточно было свою частоту ввести и все
предполагаю, это все для поддержки
bootloader-ов, т.к. в этих режимах предусмотрено программное считывание битов конфигурации и защиты.