roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 17:33

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 00:18 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
Вот разбираюсь с шиной 1-Wire под WinAVR. Запарился уже шить-перешивать МК в процессе отладки :sorry: .
Решил поставить великий и могучий протеус. Для тестирования взял sample проект самого протеуса, выбрал для того МК что там стоял прошивку 1-Wire на CVAVR - она гарантированно работает (проверял на железяке тестируемой).
Для отладки собственно кода WinAVR добавил в проект еще один МК с 1-Wire датчиком...

И начались чудеса. Проц с прошивкой CVAVR работает нормально (16 МГц на обеих выставленно), а вот с WinAVR както невероятно долго - тестовое передергивание ноги без задержек заняло 10мс. Я уж и не знаю на что думать - то ли протеус симулирует HEXы от разных компилляторов по-разному, то ли у меня чтото в коде (но что там может быть, ногой просто передернуть). Может секрет какой есть когда два МК в проекте?

Осциоллограмма в приложении (на нижнем графике - видно с какой скоростью идет обмен по 1-wire на нормальном МК, а второй сверху - это передергивание ноги без задержек на WinAVR).
Проект протеуса там же.

Добавлено спустя 14 минут 41 секунду:
Удаление вспомогательного МК дела не решило

Добавлено спустя 5 минут 55 секунд:
На реальном МК все остальное кроме 1Wire нормально работает.


Вложения:
test.rar [162.67 КиБ]
Скачиваний: 13
.JPG
.JPG [ 293.49 КиБ | Просмотров: 2219 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 00:31 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Наверно топик такой уже есть !

Лучше симулировать не .HEX а .COF из CVAVR и .elf из WinAVR


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 00:33 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
я чесно поискал поиском "Proteus вопросы" просто на Proteus листов 6 выдало.....

У меня нету никакого elf :(
Чтото я совсем не понимаю как оно работает. С одним хексом нормально, с другим медленно :no: шож это за симуляор такой?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 01:00 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Вот как получить .elf в WinAVR - http://avr123.nm.ru/04.htm

Добавлено спустя 1 минуту 15 секунд:
executer писал(а):
С одним хексом нормально, с другим медленно :no: шож это за симуляор такой?

И правда диво ! Разные .hex по-разному работают. Просто чудеса в решете. Ведь все прошивки на свете должны одинаково работать. Похоже PROTEUS полный отстой, хорошо хоть платить за него не надо было.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 01:09 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
Диво в том что с CVAVRовским HEX файлом отлично работает. HEX файл, на сколько я знаю, это просто набор ассемблерных комманд без указания на компилятор, комментарии, объем свободного места на диске и т.д. ТОЛЬКО комманды для процессора.
Вот меня и смутило то что один файл с набором комманд работает на одной частоте, а другой - на другой. Может, конечно, WinAVR какимто чудесным способом меняет частоту МК, но на макетной плате я этого не заметил.

PS: AVR123, не хотел Вас обидеть, Вы безусловно много всего хорошего делаете. И Proteus тоже хорошая прога, только я давно с подозрением к ней относился из-за всякх непоняток и того что она симулирует работу МК с тактовой частотой 10 ГГц на моем ноуте с 1.3 в реал-тайме. :) Просто пытаюсь разобратся в проблеме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 01:19 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Еще глюк протеуса есть: в любой проге с Уартом, написанной на Баскоме сообщения уарта в терминале отображаются в "левой" кодировке

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 01:30 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
elf не помог :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 01:53 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Сам елф не может помочь. Он просто позволяет видеть код на Си и двигаться по коду в отладке. Поставьте точки останова и посмотрите время выполнения участков кода - выясните причину "тормозов". Можете раскрыть АСМ и увидеть что там не так.

Добавлено спустя 1 минуту 46 секунд:
executer писал(а):
Proteus симулирует работу МК с тактовой частотой 10 ГГц

Это очень удобно. На таком МК вы можете сделать модель практически чего угодно - он будет гораздо быстрей в системе чем отлаживаемый МК работающий на нормальной частоте.

Добавлено спустя 3 минуты 49 секунд:
galex1981 писал(а):
Еще глюк протеуса есть: в любой проге с Уартом, написанной на Баскоме сообщения уарта в терминале отображаются в "левой" кодировке
PROTEUS выводит числа на терминал не зная в какой проге они сделаны. Вы можете подключить осциллограф к линии передачи и посмотреть какие символы передаются по осциллограме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 02:00 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Авр, я уже проверял: если на CVAVR пишу тестовое сообщение в Уарт - верно выводит, на Баскоме аналогичная программа - "кракозявки" выводит. Можешь сам проверить ;)

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 02:00 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
а как бы ассемблерный код просмотреть? как он по-коммандно исполняется. По правой кнопке на МК-AVR-Source code - только Си показывает, без отображения текущей операции (в проекте есть ассемблерные функции)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 02:20 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Посмотри пожалуйста серединку руководства по PROTEUS - http://proteus123.narod.ru - там со скриншотами все показано и описано текстом. По правой кн. в окне исходника в меню выбирай - "дизасембли" - можешь смотреть и шагать по асму - F11

PROTEUS очень мощный инструмент и естественно надо потратить время чтобы научится им пользоваться правильно.

Добавлено спустя 2 минуты 46 секунд:
galex1981 писал(а):
Авр, я уже проверял: если на CVAVR пишу тестовое сообщение в Уарт - верно выводит, на Баскоме аналогичная программа - "кракозявки" выводит. Можешь сам проверить ;)
Ты дай программу в BASCOM - я посмотрю.

Добавлено спустя 13 минут 37 секунд:
galex1981 писал(а):
Еще глюк протеуса есть: в любой проге с Уартом, написанной на Баскоме сообщения уарта в терминале отображаются в "левой" кодировке


Я думаю ты приписываешь PROTEUS несуществующий глюк, а я тут ночью сижу проверяю очевидно - что PROTEUS выводит то что выходит из МК.

Просто тебе не удалось вывести символы в PROTEUS. Тебе не удалось, но при чем же тут PROTEUS ?????

========================================

Я взял пример баскома - все прекрасно выводится. Скриншоты и архив с проектами прилагаю.

А ведь ты и сам мог сделать внимательно и у тебя бы работало.


Вложения:
bascom-avr-proteus-uart.rar [22.86 КиБ]
Скачиваний: 18
01.png
01.png [ 78.1 КиБ | Просмотров: 2172 ]
02.png
02.png [ 95.64 КиБ | Просмотров: 2172 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 02:28 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
В общем разобрался в чем дело: в версии 7.5 SP3 глюк был, сейчас у меня 7.6 SP0 - глюка нет - похоже исправили

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 02:34 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Ты продолжаешь ????????

У меня и есть PROTEUS 7.5 SP3

Покажи твои проекты с глюками.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 11 окт 2009, 02:45 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
В версии 7.5 SP3 терминал выдает:

Добавлено спустя 1 минуту 59 секунд:
В версии 7.6 глюка нет


Вложения:
2.JPG
2.JPG [ 231.33 КиБ | Просмотров: 2167 ]
Комментарий к файлу: исходники
1.rar [22.34 КиБ]
Скачиваний: 14
Комментарий к файлу: глюк
1.JPG
1.JPG [ 11.3 КиБ | Просмотров: 2162 ]

_________________
if(!Operate) Read(pDatasheet);
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PROTEUS вопросы
СообщениеДобавлено: 12 окт 2009, 00:23 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
Справедливости ради, сообщаю, у меня проблема в коде была :sorry: , ПРОТЕУС показывал как надо все.
Облажался я, мс, ms и us попутал.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO