qewin написал(а):Все задача решилась, добавил функцию " jmp 0 " принудительного сброса МК ( вроде так обзывается) и заработало . Значит все таки какие то "заряженные" регистры не давали снять
Если заработало и Вам нравится, просто ЗАМЕЧАТЕЛЬНО !
НО
JMP 0 - Это называется костыль ! Очищается только оперативка, аппаратные регистры не трогаются.
В чём прелесть PowerSave и Powerdown
МК не сбрасывается, т.е., все регистры и данные остаются в целости и сохранности, т.е., именно так, ка ВЫ их настроили !
Например счётчик трансляций, в Вашем варианте кроме записи в eeprom Вы его нигде не сохраните (разве что в аппаратных регистрах), вся оперативка очищается.
Первое сообщение
qewin написал(а):у меня затык может не туда ( 'Делаете то, что Вам надо ) запускаю , зажимает или обрубает регистры не правильно считывает температур
температура не правильно считывается, потому, что Вы не очищаете накопительную переменную "Term_t", в итоге при последующих измерениях Вы к предыдущим замерам прибавляете все последующие
Моё видение алгоритма исходника:
Настройка всего аппаратного, которое необходимо в МК
Таймер = Значение_таймера
главный_цикл:
If Таймер > 0 Then
Powersave
Else
Gosub Замер_трансляция
Таймер = Значение_таймера
End If
Goto главный_цикл
'========================
Замер_трансляция:
'-------------------------------------------
Замер температуры
Передача в эфир
Подготовка аппаратного обеЗпечения ко сну (порты на вход/выход; подтяжки к нужным уровням)
'-------------------------------------------
Return
'========================