19.10.2010, 00:12
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
книга и вчера полдня тамже была открыта я ж писал что сплю с ней.
|
Спать лучше с женой, еще лучше - с любовницей, а книгу надо читать и весьма вЫнимательно. У того же Лебедева ближе к концу есть стандартный пример из CVAVR работы с EEPROM, так вот он прекрасно симулируется в Протеусе.
Сообщение от 7Fantomas7
|
Я почемуто подумал что это проблемы компилятора, пускай он и думает как это разрулить. Ведь это допускается.
|
Типично ламерский подход к делу. Надо вам еще с одной книжкой "переспать", чтобы матчасть немного подучить. Цитата из Евстифеева "МИКРОКОНТРОЛЛЕРЫ AVR
СЕМЕЙСТВА Mega" (стр. 163):
Цитата:
|
Процесс обращения к EEPROM-памяти контролируется внутренним
калиброванным RC-генератором. Соответственно длительность цикла
записи зависит от частоты этого генератора, величины напряжения питания
и температуры. Типовое значение длительности этого цикла составляет
3.4 мс для моделей ATmega48x/88x/168x, ATmegal64x/324x/644x,
ATmega640x/1280x/1281x/2560x/2561x и 8.5 мс — для остальных моделей.
По окончании цикла записи бит EEWE (ЕЕРЕ) аппаратно сбрасывается,
после чего программа может начать запись следующего байта.
При записи в EEPROM могут возникнуть некоторые проблемы,
вызванные прерываниями:
1. При возникновении прерывания между 4-м и 5-м этапом описанной
последовательности запись в EEPROM будет сорвана, так как за
время обработки прерывания флаг EEMWE сбросится в 0.
2. Если в подпрограмме обработки прерывания, возникшего во время
записи в EEPROM-память, также происходит обращение к ней, то
будет изменено содержимое регистров адреса и данных EEPROM.
В результате первая запись (прерванная) будет сорвана.
Во избежание описанных проблем настоятельно рекомендуется
запрещать все прерывания (сбрасывать бит I регистра SREG) на время
выполнения пунктов 2...5 описанной выше последовательности.
|
Чуть раньше описан сам процесс записи. Так что при 16МГц кварцованной тактовой в процессе записи байта в EEPROM контроллер может попутно "сгонять за пивом, почистить рыбу и постирать грязные носки" при грамотном подходе к делу. И компилятору с ЯВУ вовсе незачем "думать", да он этого и не умеет - что Вы собираетесь дополнительно делать в процессе записи EEPROMа. Думать - это привилегия человека, в данном случае эмбеддера.
Сообщение от 7Fantomas7
|
Вот и возникла такая мысль может где и протеусу нужно указать чтоб мол в виртуальный контролер заливались значения.
|
Флаг в руки и барабан на шею. Создаете бинарник с начальным состоянием EEPROM в любом подручном HEX-редакторе, сохраняете его с расширением .bin (лучше в папке с проектом), а в свойствах контроллера указываем его (см. картинку).
Сообщение от 7Fantomas7
|
Дело в том что при работе с ЕЕПРОМом не подразумевается какихто серъезных процессов и больших скоростей, эти переменныные будут изменятся когда все выключено правда кроме прерываний от таймера 0.
|
Ну по этому поводу еще раз "переспите" с книжкой Евстифеева (последний абздец цитаты выше).
|
|
|
Сказали "Спасибо" Halex07
|
|
|
19.10.2010, 16:43
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от Halex07
|
Флаг в руки и барабан на шею. Создаете бинарник с начальным состоянием EEPROM в любом подручном HEX-редакторе, сохраняете его с расширением .bin (лучше в папке с проектом), а в свойствах контроллера указываем его (см. картинку).
|
Если проект был в отладке до того, "как в свойствах контроллера указываем .bin",
то тут нужен еще танец с бубном :
необходимо выполнить "Отладка-›Сброс постоянных данных модели"
(Во время отладки протеус сохраняет значения еепром, а "Сброс постоянных данных модели" можно приравнять к первоначальному прошиванию еепром)
Конвертировать файл .eep в .bin помогает прога hex2bin
Последний раз редактировалось CodeNameHawk; 19.10.2010 в 16:56.
|
|
|
|
01.02.2011, 00:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Доброго времени всем.
Мужики все сдаюсь, спасайте.
Нужно отсимулировать в протеусе контролер. После того как проект на "С" разнес на файлы протеус не видит переменные хоть плач. Переменные то видит но не отображает их состояние. Как ему мозги вкруть не знаю. В AVRStudio симулируется нормально, все переменные видны и нормально работают. Только геморно в AVRStudio симулировать. В принципе я не знаю как проверить работу кнопок да и динамичку както утомительно гонять.
Пока весь проект на "С" был в одном файле симулировалось все нормально.
Во вложении проект, симуляция настроена, версия Протеуса 7.7 СП2, исходник на "С" создан в CVAVR2.05
|
|
|
|
01.02.2011, 15:20
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
И в чем проблема, что не видит, где не видит? Сотрите для начала все что не используете и вперед.
|
|
|
|
01.02.2011, 22:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Все что не используется иключено из моделирования. Какая проблема?
Цитата:
|
что не видит, где не видит?
|
Писал же ПЕРЕМЕННЫЕ ВИДНЫ НО НЕ ИЗМЕНЯЮТ СВОИХ ЗНАЧЕНИЙ В ПРОЦЕСЕ СИМУЛЯЦИИ.
|
|
|
|
02.02.2011, 15:37
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
Все что не используется иключено из моделирования. Какая проблема?
Писал же ПЕРЕМЕННЫЕ ВИДНЫ НО НЕ ИЗМЕНЯЮТ СВОИХ ЗНАЧЕНИЙ В ПРОЦЕСЕ СИМУЛЯЦИИ.
|
В процедуре
Код:
|
void start_310 (void) |
переменная меняет свое значение с 0 на 1
Так что ваше "Писал же..." не соответствует истине.
И снова значит вопрос "КАКИЕ ПЕРЕМЕННЫЕ ВИДНЫ НО НЕ ИЗМЕНЯЮТ СВОИХ ЗНАЧЕНИЙ В ПРОЦЕССЕ СИМУЛЯЦИИ"
С свойствах проекта Project-›Configure-›Output directories
сотрите все папки, пусть проект собирается в основной папке, и тогда вы сможете заняться пошаговой отладкой.
|
|
|
Сказали "Спасибо" CodeNameHawk
|
|
|
02.02.2011, 20:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Дурдом какойто.
Переустановил систему и протеус естественно. Проекты всегда храню в папке Samples по месту установки програмы. Поэтому запускал проект без какихто предварительных настроек. Выполнил Project-›Configure-›Output directories там и так все естественно прописано было, просто переуказал и все. Все заработало.
Огромное спасибо.
|
|
|
|
02.02.2011, 23:48
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
Проекты всегда храню в папке Samples по месту установки програмы.
|
Я бы сказал что так хранить не совсем удобно. (при переустановке виндов забывается сохранить последние изменения в проектах)
Просто создайте папку в корне С диска. (Название папки без пробелов и русских букв)
Сообщение от 7Fantomas7
|
Поэтому запускал проект без каких то предварительных настроек.
|
Новый CV, папки EXE и другие создает (в папке вашего проекта) по умолчанию. И не спешите переустанавливать все проги, поменяйте для начала установки.
|
|
|
|
03.02.2011, 02:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Я просто эту папку пересохраняю на D каждый раз после того как вношу какието изменения по концу работы. Чесно говоря начитавшись о возможных проблемах с путями, кирилицей и пробелами не стал даже пробовать сохранять гдето еще.
Цитата:
|
И не спешите переустанавливать все проги
|
Просто звери и антивирь сожрали систему, пришлось переустановить все.
|
|
|
|
03.02.2011, 15:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Доброе время всем.
Вобщем еще одна проблема.
Почему при симуляции в протеусе в некоторых строках нет номеров хотя это функции.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:23.
|
|