Вообщем глюк то вроде бы изза того что переменную не объявил volаtilom. В неё как раз считывались данные с порта только при ресете. И видимо компилятор посчитал, что потом с ней можно делать всё что хочешь.
Столнулся с другим, что уже явно указывает на глюк компилятора. (версию сменил уже на 1.25.9)
прога примерно такая :
void main(void)
{
1)If (условие)
{
if (условие)
{
while (1){операции}
};
};
2)while(1)
{
операции
powerdown();
/*
вот тут задокументирован был временно код на переработку
*/
};
}
какимто образом программа вошла во 2й while(метка 2) выполнила операции , заснула , а когда проснулась попала в условие сверху( метка 1). После ресета было 100% повторение. После перекомпиляции и перепрошивки - всё исчезло. НО, перед перекомпиляцией я убрал задокументированный код. Незнаю сейчас гоняю , вроде работает, но к CV как то отношение ухудшилось
Да ещё может кто встречал - при прошивке через CV если не сделать стирание чипа с проверкой( обязательно с проверкой) - чип не прошивается вбивает туда 0xFFFF( а может просто не шьёться , но стирается). Грешу на комп - часы у меня на компе уходят за час на 5 минут. Может частота не та идёт с компа? И изза этого появляются битые ячейки? Хотя впринципе тогда должно при верификации выводит ошибку.
Цитата
У меня сейчас 2.03.4.
А как насчёт перехода с версии 1.25 сразу на 2.03 - сложностей не вызовет как думаете?