Hello, Vladimir! You wrote in conference fido7.ru.embedded to Alexander Torres on Thu, 12 Apr
2007 00:34:00 +0400:
VC> Пока вживую ни одного проекта на 9.х не выпустил в жизнь. Опасаюсь.
Во-во :(
VC> Так что вполне ожидать и более серьёзных ляпов компилера. Попробуй хотя бы сравнить инклуды, нет ли там аналогичной засады, особенно биты конфигурации. Хорошо бы сравнить конфиг слово после кодогенерации или с помощью программатора или ручками в HEX.
Можно конечно и в программаторе, но быстрее МПЛАБе сразу посмотреть.
VC> Одинаково ли при 8.х и 9.х?
Да. Еще интересно - при компиляции той ж программы для 16C76, этих глюков тоже нет. Лучше бы были - я бы сразу эмулятором увидел, а на 876а у меня головки к ICE-2000 нет :(
??>> Во фьюзах все что надо включено, кроме пока вотчдога: __CONFIG ( HS & BOREN & UNPROTECT & WDTDIS & PWRTEN & LVPDIS & WRTDIS ); VC> У тебя компилер на WRTDIS не ругается?
#if defined _16F876A #define WRTDIS WP3 #endif
:)
VC> В файле pic168xa .h нет такой константы. И в 8.х тоже нет.
Зато есть в pic1687x.h
VC> Я ещё DEBUGDIS пишу. Ресет не работает? Крута... У тебя программа всегда одинаковый конфиг при старте проходит или есть ветвление в зависимости от источника ресета?
В этой программе - нету. А вот в другой я попался на толерансе ресета по питанию. Проверял при старте только POR, а получилось что при выключении девайса, VCC долго (десятки секунд) держится на уровне 1.4в. А диапазон срабатывания POR - 1.2-1.7V. Сделал проверку еще и BO.
VC> Посмотри в отладчике/симуляторе дизасм код, особенно это место, мож что-то стало по другому настраиваться. Hет ли засады с переключением банков, когда-то давно был такойц глюк у Хайтека при включенной оптимизации.
Этот баг есть, но связи с ресетом я не вижу.
??>> Hу, средство заставить программу работать найдено VC> Какое? Давай колись :)
Я уже говорил, конкретно для этой программы средств два:
1) отключить ассемблерную оптимизацию в 9.хх
2) работать в 8.хх
With best regards, Alexandr Torres.