Автор |
Съобщение |
pldimitroff
Ранг: Минаващ
Регистриран на: Чет Мар 19, 2009 10:22 am Мнения: 38 Местоположение: Стара Загора
|
PIC16F628A - GRP, WDT и SLEEP
Здравейте, Използвам WDT за събуждане от SLEEP режим PIC16F628A. Искам да попитам при събуждане от WDT какво става с регистрите с общо предназначение (GRP)? Нулират ли се, запазват стойностите от преди заспиването или нещо друго? При мен не се запазват стойностите, но може да ми е грешен софтуера - начинаещ съм Благодаря предварително.
|
Сря Окт 26, 2022 9:43 am |
|
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 1:23 pm Мнения: 3545 Местоположение: Високо в планината
|
Re: PIC16F628A - GRP, WDT и SLEEP
WDT ресетва контролера. Използва се, за да следи дали контролерът не се е "отнесъл" нанякъде И/ИЛИ дали програмата не зацикля или дали не я утрепваш по друг начин.
_________________ Хайде де!
|
Сря Окт 26, 2022 10:27 am |
|
|
pldimitroff
Ранг: Минаващ
Регистриран на: Чет Мар 19, 2009 10:22 am Мнения: 38 Местоположение: Стара Загора
|
Re: PIC16F628A - GRP, WDT и SLEEP
Да, WDT ресетва контролера, когато препълни. Но в режим SLEEP го събужда и програмата продължава след командата SLEEP като нулира WDT. При мен така работи, не започва програмата от начало, но стойности в GRP не се запазват. Не мога да разбера от WDT ли се получава или е моя програмна грешка.
|
Сря Окт 26, 2022 10:47 am |
|
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 2:25 pm Мнения: 4974 Местоположение: София
|
Re: PIC16F628A - GRP, WDT и SLEEP
Би трабвало стойностите да се запазват.
|
Сря Окт 26, 2022 11:53 am |
|
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 8:21 pm Мнения: 27949 Местоположение: София
|
Re: PIC16F628A - GRP, WDT и SLEEP
Пазят се, или поне би трябвало да се пазят. Ако е в sleep wdt те буди и продължаваш от там където си спрял.
|
Сря Окт 26, 2022 12:54 pm |
|
|
pldimitroff
Ранг: Минаващ
Регистриран на: Чет Мар 19, 2009 10:22 am Мнения: 38 Местоположение: Стара Загора
|
Re: PIC16F628A - GRP, WDT и SLEEP
И аз така мислех. В симулатора на MPLAB IDE v8.92 се запазват, но на практика не ми се получават. Правя термометър с DS18B20. За измерване на температурата трябва 750ms. Когато ми показва температурата на дисплея използвам таймер за 750ms и след известно време изключвам дисплея и използвам SLEEP за таймер (1.15s). В регистри запазвам максимална и минимална температура. При събудено състояние всичко си работи добре, след заспиване и събуждане от мен (дисплея да показва), максималната и минималната температура приемат стойностите след събуждане. Ще потърся пак за грешка. Благодаря Ви!
|
Сря Окт 26, 2022 3:09 pm |
|
|
pldimitroff
Ранг: Минаващ
Регистриран на: Чет Мар 19, 2009 10:22 am Мнения: 38 Местоположение: Стара Загора
|
Re: PIC16F628A - GRP, WDT и SLEEP
Да, допуснал съм грешка в програмата. Запазват се стойностите на GRP при SLEEP и събуждане с WDT.
|
Пон Окт 31, 2022 3:43 pm |
|
|