24.03.2009, 18:13
|
|
Временная регистрация
Регистрация: 15.12.2006
Сообщений: 74
Сказал спасибо: 1
Сказали Спасибо 13 раз(а) в 3 сообщении(ях)
|
Сообщение от Gladkih
|
да и еще какая версия компилятора?
|
Давно это было, сразу и не вспомнишь.
Это HI-TECH PICC TOOLSUITE компилятор. Сразу скажу, что это ошибка модели , я тоже с этим сталкнулся. Но отказываться от шпротеуса не стоит. Программа, которую ты моделируешь, то ли в MPLABe то ли в протеусе не всегда точно такая, которую ты прошиваешь в микросхему. Для этого есть условная компиляция. Там после обнаружения стоп условия почему-то не очищается SSPBUF, и после получения следующего байта, считается, что ты еще не прочитал предыдущий, происходит переполнение (оверфлоу) SSPOV равен 1 (что то в этом роде, точнее не вспомню).
#define OTLADKA
// закоментировать после отладки.
/////////////////////////////////////////////////////
#ifdef OTLADKA
if (STAT_P) // если зафиксировано стоп условие
{unsigned char rtr ;
rtr = SSPBUF ; // требуется прочитать буфер, чтобы избежать переполнения
SSPOV = 0 ; // затем удалить, ошибка в модели Протеуса
};
#endif
Я даже прошивал ПИК и с этими командами и все работало.
Там была еще другая проблема с флагом SEN, этот флаг в модели ни на что не влияет, а в реальной микросхеме блокирует шину.
|
|
|
|
24.03.2009, 19:10
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Сообщение от retro55
|
Сообщение от Gladkih
|
да и еще какая версия компилятора?
|
Давно это было, сразу и не вспомнишь.
Это HI-TECH PICC TOOLSUITE компилятор. Сразу скажу, что это ошибка модели , я тоже с этим сталкнулся. Но отказываться от шпротеуса не стоит. Программа, которую ты моделируешь, то ли в MPLABe то ли в протеусе не всегда точно такая, которую ты прошиваешь в микросхему. Для этого есть условная компиляция. Там после обнаружения стоп условия почему-то не очищается SSPBUF, и после получения следующего байта, считается, что ты еще не прочитал предыдущий, происходит переполнение (оверфлоу) SSPOV равен 1 (что то в этом роде, точнее не вспомню).
#define OTLADKA // закоментировать после отладки.
/////////////////////////////////////////////////////
#ifdef OTLADKA
if (STAT_P) // если зафиксировано стоп условие
{unsigned char rtr ;
rtr = SSPBUF ; // требуется прочитать буфер, чтобы избежать переполнения
SSPOV = 0 ; // затем удалить, ошибка в модели Протеуса
};
#endif
Я даже прошивал ПИК и с этими командами и все работало.
Там была еще другая проблема с флагом SEN, этот флаг в модели ни на что не влияет, а в реальной микросхеме блокирует шину.
|
спасибо за совет но все равно не помогает.у меня сначала устанавливаются часы а затем идет обращение к слейву так вот как-то странно во время установки слейв заходит в прерывание и почемуто не на все стоповые команды реагирует.вобщем белеберда выходит а так хотелосьбы все вместе собрать и моделировать в куче.(хотя в железе проверял с и2с проблем небыло).
|
|
|
|
24.03.2009, 22:42
|
|
Временная регистрация
Регистрация: 15.12.2006
Сообщений: 74
Сказал спасибо: 1
Сказали Спасибо 13 раз(а) в 3 сообщении(ях)
|
Это не совет, а фрагмент кода работающей программы. Файл pic222.c в папке pic2. Нажми паузу в протеусе и пройди его по шагам. В любом случае это будет быстрей, чем отлаживать две программы в железе. В протеусе можно пройтись по шагам, по операторам, посмотреть все флаги и др.
|
|
|
|
24.03.2009, 22:54
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Сообщение от retro55
|
Это не совет, а фрагмент кода работающей программы. Файл pic222.c в папке pic2. Нажми паузу в протеусе и пройди его по шагам.
|
этот фрагмент я вставил к себе в программу(у меня там тоже раньше определялся стоповый бит),но не работает этот вариант.вобщемто разобраться можно надо почитать еще раз по работе и2с и отследить ситуацию со стопом.
|
|
|
|
25.03.2009, 09:47
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Сообщение от Gladkih
|
Сообщение от retro55
|
Это не совет, а фрагмент кода работающей программы. Файл pic222.c в папке pic2. Нажми паузу в протеусе и пройди его по шагам.
|
этот фрагмент я вставил к себе в программу(у меня там тоже раньше определялся стоповый бит),но не работает этот вариант.вобщемто разобраться можно надо почитать еще раз по работе и2с и отследить ситуацию со стопом.
|
вобщем зарботало.пришлось помимо ваших вставок сделать вставку SSPOV = 0 при СТЕЙТ=0.сейчас на шине два контроллера и часы и все работает.
|
|
|
|
25.03.2009, 14:56
|
|
Прохожий
Регистрация: 12.03.2009
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от serwik1
|
Выскакивает анналогичная ошибка (7.4 sp3)пункт"Запустить внешнюю копию ELECTRA" не получается активировать. Как быть ?
|
Видимо кривая версия 7.4 SP3, без каких-то файлов или DLL-ек у тебя, больше я никак не могу объяснить. Ещё как вариант, крякалку к 7.4 SP3 мог антивирусник почикать (хотя там и нет вирусов), поэтому и не работает.
-- Прилагается рисунок: --
|
|
|
|
25.03.2009, 21:36
|
|
Прохожий
Регистрация: 17.03.2009
Сообщений: 2
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
Выскакивает анналогичная ошибка (7.4 sp3)пункт"Запустить внешнюю копию ELECTRA" не получается активировать. Как быть ?
Видимо кривая версия 7.4 SP3...
|
Я смотрю кривизна данного софта проявляется абсолютно во всём, на следующий день данный пункт активируется и всё работает, но приложение ISIS запускается из десяти попыток - один раз.
"nostromo74" спасибо.
|
|
|
|
30.03.2009, 16:33
|
|
Временная регистрация
Регистрация: 10.02.2009
Сообщений: 74
Сказал спасибо: 5
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
7.4+3
прогоняю проект с tiny2313
один и тот же участок кода AVRStudio проходит ровно за 20 млн тактов, а Proteus - на целых 88 больше! А если прогонять пошагово - то каждая команда на такт длиннее... Что за грабли?
|
|
|
|
10.04.2009, 10:24
|
|
Прохожий
Регистрация: 12.03.2009
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
serwik1
Выскакивает анналогичная ошибка (7.4 sp3)пункт"Запустить внешнюю копию ELECTRA" не получается активировать. Как быть ?
|
Нашел в чем прикол по поводу неактивной кнопки "Запустить внешнюю копию ELECTRA". До этого у меня стояла версия 7.2 SP6 крякнутая естественно и ELECTRA крякнутая естественно в этой же версии. 7.4 я прям поверх поставил, типа update получилось. Провел эксперимент, снес все (в т.ч. с реестра). Поставил чистую 7.4 и вуаля, кнопка тоже не активная . Потом опять снес все, поставил 7.2 и поверх неё уже 7.4 с патчами и русификатором. Кнопка активной стала. Видимо где-то исправляется .
|
|
|
|
24.04.2009, 13:56
|
|
Частый гость
Регистрация: 22.11.2006
Сообщений: 15
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Proteus 7.2 (интересно в новых также?)
Выбираем логику 4053 или 74НС4053,запускаем,
останавливаем,получаем предупреждение:
"Pin 'Vee' is not modelled."
Подключал его и к Vcc, и к Vdd, и к GND,
всё равно МС не работает, выходы молчат...
Такая же проблемма была на Сонсиври, но как я
понял тоже не решили (типа не обращай внимания )
http://www.sonsivri.com/forum/index.php?topic=4298.0
Р.С.: насчёт выходов поправка-заработали, опять
аналоговый резистор
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:37.
|
|