07.07.2010, 12:58
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
Перетаскивать мышкой получилось и перетащеное работает кроме flag.
|
У тебя flag определен как volatile bit. Что то тут коряво получается. Не берусь точно предсказать по последней версии CVAVR, потому что пользуюсь 1.25.9. Но куда то он ее не туда пихает. Если без volatile, то битовые переменные укладываются в регистры R2-R14. Почитай по этому поводу свою "прикроватную" книжку на стр. 182. Но видеть ты ее в Variables не будешь. Кстати, если компилирую в 1.25 - это и происходит. Дальше посмотрю позже, сейчас отъеду на пару часов.
|
|
|
|
07.07.2010, 13:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
TEHb,
Допустим. Но у меня они не очень то и попадают. Ну да ладно воззможно функции в которых есть локальные переменные предположим работают редко и время работы их мало и я их просто пропустил. А как быть в таком случае с локальными переменными static они сохраняют свои значения при выходе из функции и могут быть увязаны с глобальными переменными. И весьма удобно былобы видеть и то и то. Но это так мое мнение в принципе не критично, просто не всегда удобно.
TEHb,
Я насколько знаю Вы имеете отношение к разработчикам этого чудного продукта.
Сделайте что нибудь с трасировщиком глаза сломать можно
https://kazus.ru/forums/showthread.php?t=7842&page=51
пост №507, а еслиб еще и полуавтоматическую трасировку добавили по типу как PCad вообще красота.
|
|
|
|
07.07.2010, 13:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Halex07,
Цитата:
|
У тебя flag определен как volatile bit
|
Я конечно же пробовал с volatile и без volatile.
Остановился на volatile bit потому как это в любом случае глобальная переменная и нет важности битовая или байтовая и сдесь на форуме касательно глобальных переменных рекомендовали писать volatile. В принципе не только на форуме, а и в литературе такие рекомендации есть. Я не стал ничего изобретать, а сделал как советуют.
|
|
|
|
07.07.2010, 13:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Halex07, и остальные, я обязательно всё посмотрю. Когда с текущими делами разберусь.
|
|
|
|
07.07.2010, 13:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
Допустим. Но у меня они не очень то и попадают.
|
оптимизация включена? это основной враг отладчика.
|
|
|
|
07.07.2010, 15:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Цитата:
|
оптимизация включена?
|
да включена.
Цитата:
|
это основной враг отладчика.
|
А вот тут пардон. CodeVision предлагает оптимизацию по размеру кода или по скорости выполнения. У меня включена по размеру кода. Вариантов нет у CodeVision или так или так . Но в действительности эта переменная в симуляторе работает и я это вижу потому как увязана с другим процесом. Значит симулятор ее обрабатывает.
|
|
|
|
07.07.2010, 15:52
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
Допустим. Но у меня они не очень то и попадают.
|
Тэкс, я уже вернулся. Да у тебя их просто нет в том последнем проекте.
Сообщение от 7Fantomas7
|
Остановился на volatile bit потому как это в любом случае глобальная переменная и нет важности битовая или байтовая
|
А вот тут заблуждаешься, как раз важно - я ж тебя в книжку Лебедева зачем посылал? И вообще, зачем flag у тебя объявлен как bit. Я так думаю, что место экономим? Ну так вот и будет это работать без volatile и тут я берусь точно утверждать, что это будет бит 0 регистра R02 (читай "прикроватную"). Проверяем. Ставлю бряки и включаю окно AVR CPU Registers в ISIS меню Debug. Прыгаю по брякам и вижу, что так оно и есть - все как учили в школе (Рис. 1). Чтобы впиндюрить этот регистр в Watch - выбираем Add Item by Address и далее как на (Рис. 2). Но это в случае, если volatile перед bit нет.
Если же как у тебя - volatile bit, то куда его компилятор за*уячит, если ты ему жестко не задал адрес в SRAM одному богу и разработчику компилятора известно - опять же читай Лебедева. И займет он у тебя уже не бит, а байт - никакой экономии. В вашем последнем проекте (Рис. 3) Isis и ругается на то, что переменная за пределами отведенного блока памяти. Тут уже включается принцип маршрутного такси: "Водитель ну где-то там и ну где-то тут не останавливает".
|
|
|
Сказали "Спасибо" Halex07
|
|
|
07.07.2010, 15:55
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
Вариантов нет у CodeVision или так или так .
|
Вдогонку... в начале кода:
#pragma opt- //Выключаем оптимизацию совсем
где-то:
#pragma opt+ //Включаем оптимизацию.
Читай прикроватную!!! Раздел 4.1.7 Стр.165
Последний раз редактировалось Halex07; 07.07.2010 в 16:06.
|
|
|
Сказали "Спасибо" Halex07
|
|
|
07.07.2010, 19:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Цитата:
|
И вообще, зачем flag у тебя объявлен как bit. Я так думаю, что место экономим?
|
Просто так посоветовали, так и сделал, сам понял что зря и сейчас ее уже выкинул обхожусь просто переменными байтовыми и двухбайтовыми. А места у меня еще на танке развернутся хватит.
По правде говоря я уже запустил кнопки, диоды и динамичку на половину. Ваш совет тягать переменные из окна в окно очень помог спасибо жизнь наладилась. Я их туда пхал как в FAQ было написано т.е. прописывал адрес и имя в этом случае не работали. А мышкой очень даже мило, так сделал и треть проекта собрал, развалял и опять собрал за пару часов.
Очень жаль что с локальными переменными напряг. Я их делаю глобальными смотрю как работают, а потом опять делаю локальными. Это не удобно но всеже выход. Может сегодня динамичку одолею, а завтра начну бороть таймер 1.
Последний раз редактировалось 7Fantomas7; 07.07.2010 в 19:32.
|
|
|
|
18.07.2010, 15:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Возможно ли сделать проверку усиления,то есть построить график усиления в зависимости от входного напряжения для этой схемы?
Просто не знаю чем подать на вход усилителя меняющиеся напряжение от 0 до 5 В.Ну как это все занести на график.
__________________
Глаза боятся,а руки делают.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:17.
|
|