www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Operationen im Sleep modus PIC 16F877


Autor: Bernhard Schwaerzler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe folgendes Problem: Ich möchte während der PIC im sleep Modus 
läuft einen CO2 Sensor auslesen (AD Eingang). Weiters sollte ich den 
eingelesenen Wert mit einer anderen Zahl vergleichen und je nach 
Ergebnis einen Interrupt auslösen. Und das alles im Sleep Modus

Ist eine Vergleichsoperation im Sleep Modus möglich?

Kann mir jemand helfen?

mfg Bernhard Schwaerzler

Autor: Frank B_. (frank_b) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne die PICs nicht, aber qwnn er auch einen Analogkomparator hat, 
könnte es klappen, indem Du das Signal zusätzlichen auf diesen gibtst, 
und mit einer Vergleichsspannung vergleichst.

Ansonsten ister der SLEEP-Modus zum schlafen da, wie der Name schon 
sagt. Da läuft das Programm nicht.

Jedenfalls bei AVR's :-)

lg, Frank

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Bernhard Schwaerzler (Gast)

>Ist eine Vergleichsoperation im Sleep Modus möglich?

Ich kenn den PIC nicht im Detail, ich würde aber mal sagen das geht 
nicht. Entweder die CPU pennt oder nicht. Dein Probelem löst man eher 
so.

ADC Starten
Sleep mode aktivieren
ADC ist mit Messung fertig und generiert einen Interrupt, CPU wacht auf.
CPU liest ADC und vergleicht
Zurück zum Anfang.

Siehe Sleep Mode, auch wenn es auf den AVR bezogen ist.

MFG
Falk

Autor: Bernhard Schwaerzler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Frank,

Danke für deine Antwort

Ich lese den Sensor bereits über einen AD Eingang ein. Dies funktioniert 
auch einwandfrei.
Nur sollte ich das Ergebnis im Sleepmodus vergleichen.

Die Frage ist ob ich das im Sleepmodus überhaupt kann?

mfg Bernhard Schwärzler

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im sleepmodus können manche on-chip peripherals (wie z.B. der A/D 
Wandler) arbeiten, aber die Ausführung von Programmcode ist dabei nicht 
möglich.

Autor: Frank B_. (frank_b) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat das Ding auch einen Komparator ?

Autor: Bernhard Schwaerzler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja der PIC 16F877 hat 7 analoge eingänge

Autor: Frank B_. (frank_b) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also nicht :-)

Nö, dann kann man wohl nichts machen.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
The following peripheral interrupts can wake the device
from SLEEP:

7. USART RX or TX (Synchronous Slave mode).
8. A/D conversion (when A/D clock source is RC).

Da stehts doch. Du kannst den PIC nach einer AD conversion
wecken, deinen Vergleich machen und wieder schlafen legen.

Autor: Frank B_. (frank_b) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Er will den PIC ja grade NICHT wecken ?!?

Frank

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Er will den PIC ja grade NICHT wecken ?!?

Ich weiss. Vieleicht hat er seine Aufgabenstellung
einfach nur falsch verstanden.

>Ich möchte während der PIC im sleep Modus
>läuft einen CO2 Sensor auslesen (AD Eingang).

Geht. Siehe Kapitel A/D Operation During SLEEP

>Ist eine Vergleichsoperation im Sleep Modus möglich?

Geht nicht. Dazu muss der PIC aufwachen, Vergleich durchführen.

Autor: Frank B_. (frank_b) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm.

oder, wenn ein bischen externe Beschlatung erlaubt ist, das Signal 
zusätzlich auf einen Transitor (oder OP-Ampp..oder ähnlich) geben, der 
dann einen externen Interrupt triggert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.