Перейти к содержанию

Могу ля я доверять Proteus при тестировании Atmega?


MaDiEQ

Рекомендуемые сообщения

Тестирую код assembler для AtMega8515, правильные значения на PORTC чередуются с какой-то чушью, значения на порт передаются только в 2х местах в коде может ли это быть ошибкой Proteus?

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Обычно грешат, на Proteus но в итоге оказывается проблема в коде. Proteus  в общем то идеальная среда и если в ней не работает то и в железе навряд ли будет работать. Да и про конфигурационные настройки мк в Proteus не забываем.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Уровень доверия к Proteus определяется стоимостью вашего рабочего времени. Эта программа не предназначена для профессиональных разработчиков - программистов. "Удобства" и "визуализация" предназначены для обучения студентов первоначальным навыкам работе с МК.  После первого же, как и у Вас, непонятного процесса в работе Proteus отказался от него. 

Ссылка на комментарий
Поделиться на другие сайты

На программном уровне наверное только Proteus, ну а на железе что то типа этого http://ugolok-mastera.ru/start-board.htm

Изменено пользователем serg123
Ссылка на комментарий
Поделиться на другие сайты

48 минут назад, _VN_ сказал:

После первого же, как и у Вас, непонятного процесса в работе Proteus отказался от него. 

От чего отказываетесь после первых "глюков" в железе? :) 

Протеус - очень удобная среда для отладки. Есть, конечно, несколько нюансов, я бы не назвал их критическими лагами... Но альтернатива протеусу слишком дорого стоит... Вы понимаете, о чем я...

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

У начинающих обычно всегда при первом же неправильном поведении своей криво написанной программы валить все на на отладчик. Хоть на Proteus, хоть на AVR Studio - без разницы. Проверяйте свой код.

Ссылка на комментарий
Поделиться на другие сайты

Совет от начинающего начинающему . Лучше конечно сделать реальный макет. 

У меня  имели быть случаи несоответствия данным AVR Studio и реального устройства именно по части исполнения команд вывода в порты .

Мне как начинающему комфортно отлаживать именно с макетом и AVR Studio .

Но не с последними, а с 4-ми .

 

Изменено пользователем colorad
добавить
Ссылка на комментарий
Поделиться на другие сайты

В какой раз говорю - не нужно гнать на протеус. Цифровые схемы он симулирует отлично. Просто его нужно изучить чтобы понимать, как им пользоваться. По поводу реального макета - реальный макет, в наше время нужен тогда, когда отработаны промежуточные элементы и нужно собрать все в кучу. По поводу прошивки, так кривой код если и заработает в реалии, то никто не гарантирует стабильную работу. Другое дело - когда вы создаете какой-то протокол и он привязан к временным параметрам, то его придется отлаживать в реалии, но повторюсь, промежуточные функции такие, как вывод на дисплей например, протеус отсимулирует без ошибок. Так что проверяйте, то что вы написали. Конечно ни один симулятор не даст вам 100% картины, но не думайте что ваш мозг может просчитать работу лучше чем машина которая заточена на эту работу.

- А совесть в курсе? - А совесть в доле! :-D

Эксперт — это человек, который совершил все возможные ошибки в некотором узком поле.

Все грамматические ошибки являются авторским стилем изложения материала.

Ссылка на комментарий
Поделиться на другие сайты

40 минут назад, Rhime сказал:

В какой раз говорю - не нужно гнать на протеус. 

Полностью поддерживаю. Поначалу тоже не получалось писать нормально, были глюки и зависания протеуса. Из-за это очень сильно грешил на него, но полазив по форумам почитав литиратурку все стало работать как надо и глюки в протеусе прекратились. Так что читайте datasheet  на контроллер и изучайте help файл протеуса. Как уже многие здесь писали основная проблема грешащих на протеус кривой код.

Ссылка на комментарий
Поделиться на другие сайты

Немного не по теме. Как раз сегодня мучил Протеус, из замеченных багов эмуляции AVR:

Не работает бит ADATE / ADFR - непрерывный режим АЦП

Неправильно работает ШИМ, если модуль счета задается в ICRx, WGM3:0 = 1110 или 1111

Не работают команды bld / bst (это было совсем неожиданно, впрочем, gcc тоже ими брезгует, так что некритично)

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

А что с конфигурацией мк в протеусе, все выставлено в соответствии с кодом. Да и еще в свое время я очень сильно удивлялся почему у меня при программировании Pic контроллеров не хотят работать некоторые порты PORTA на вход, достаточно долго искал причину этого,да проблема была что в протеусе то и в железе, потом почитав описание на эти порты узнал что они используются как входы компараторов по умолчанию, после изменения работы портов все заработало.

Изменено пользователем serg123
Ссылка на комментарий
Поделиться на другие сайты

Дело вот в чем, написал тот же код на С в протеусе все заработало нормально, но главное не понятно ОТКУДА ПРИ СИМУЛЯЦИИ АССЕМБЛЕРНОГО КОДА ОН ИЗМЕНЯЛ НЕПОНЯТНЫМ ОБРАЗОМ ЗНАЧЕНИЯ НА ПОРТЕ С? Просто хочется разобраться чтоб не наступать на эти грабли в дальнейшем

Ссылка на комментарий
Поделиться на другие сайты

Самое простое посмотрите дисассемблерный файл который создался при компиляции Си и сравните со своим ассемблерным кодом, думаю ошибка сразу себя выдаст.

Ссылка на комментарий
Поделиться на другие сайты

Кстати, что говорит пошаговая отладка в том же протеусе и Студии?

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Наверное самый простой способ - всунуть куда-то в софт замкнутый цикл, который кидает в порт 00, FF, перед ним отключив прерывания и гляньте что творится осциллографом.

А вообще в протеусе море ошибок. Особенно все что связано с PWM. Сам нарывался - на реальном проце все работает как должно, а в протеусе полнейший бред.

 

Ссылка на комментарий
Поделиться на другие сайты

6 часов назад, realm сказал:

А вообще в протеусе море ошибок. Особенно все что связано с PWM. 

Proteus цифровой симулятор и если шим подключен к какому то аналоговому устройству особенно RC цепочке. Расчет симуляции очень сильно нагружает Proteus, отсюда и ошибки, кстати Proteus предупреждает об этом.

Ссылка на комментарий
Поделиться на другие сайты

Баг не в этом. В протеусе просто не реализованы некоторые режимы ШИМ и АЦП. Это не проблема производительности.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, COKPOWEHEU сказал:

Баг не в этом. В протеусе просто не реализованы некоторые режимы ШИМ и АЦП.

Трудно сказать,мое мнение в нагрузке на симулятор,в общем как то собирал генератор чистого синуса на pic16f873. МК работал на 20 мгц 2 канала шим, все красиво четка и ни одного глюка Proteusa. Да собственно вот что выдал его осциллограф.

синус.jpg

Ссылка на комментарий
Поделиться на другие сайты

МЕГИ и ТИНЬКИ протеус симулирует отлично (вообще протеус очень хорошо заточен под цифровые схемы, проблемы как правило бывают с аналоговыми схемами), в чем может быть проблема???

Вероятнее всего проблема в одном из следующих моментов:

1. Несоблюдение некоторых моментов при работе с прерываниями, а именно большинство начинающих забывают сохранять значение регистра SREG, также надо помнить что при чтении-записи шестнадцатиразрядной периферии (таймеры-счетчики, АЦП), необходимо запрещать прерывания при работе с верхним и нижним регистрами.

2. Недостаточно ресурсов протеуса, а именно для контроллера выбрана очень высокая частота (об этом вы можете увидеть сообщение в логе моделирования), типа симуляция в реальном времени невозможна.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...