Gast
#778095
Weiss jemand was für eine Header-Datei ich in C includen muss um für den PIC die Funktion sleep() aufzurufen?
|
Anzeige
|
PIC in Sleep mode
Gast
#778095
Weiss jemand was für eine Header-Datei ich in C includen muss um für den PIC die Funktion sleep() aufzurufen? ??? Verstehe ich nicht. Beim CCS Compiler ist die Funktion so schon drin. Ansonsten einfach mit #asm sleep #endasm einbinden. Und dran denken, dass Sleep nur ausgeführt wird, wenn bestimmte Bedingungen erfüllt sind (siehe Manual), sonst wird es als NOP interpretiert.
Gast
#778120
Ich hab den HI-TECH PICC C-Compiler. Finde da nichts. sleep(); geht nicht :-(
Gast
#778127
>Und dran denken, dass Sleep nur ausgeführt wird, wenn >bestimmte Bedingungen erfüllt sind (siehe Manual), sonst wird es als NOP >interpretiert. If the global interrupts are disabled (GIE is cleared), but any interrupt source has both its interrupt enable bit and the corresponding interrupt flag bits set, the device will immediately wake-up from SLEEP. The SLEEP instruction is completely executed. Meinst du das? Sonst finde ich keine bestimmten Bedingungen. Ausser beim aufwachen...
Gast
#778141
Hmm, der zieht jetzt etwa 1mA. Ist das Sleep Mode, oder wie viel Strom zieht der im Sleep Mode? Also: #include <pic.h> SLEEP();
Gast
#778210
Danke! Aber wie bringe ich den Stromverbrauch noch weiter runter? Habe jetzt alle nichtverwendeten Pins als Output definiert, verbraucht aber immer noch 0.8 mA!
Gast
#778238
ADC ausschalten? ANSEL = 0x00; geht nicht -> undefined identifier "ANSEL" WTF??? Hallo, sind etwas wenig Infos, zB ist der PIC typ auch interessant. 0,8ma ist auf jeden Fall zuviel, da fliesst noch was über die Ports ab. Schalte die auf Hi-Z. Christian J. wrote: > Schalte die auf Hi-Z. Dann braucht der PIC erst recht Strom!
Gast
#778259
Ist ein pic12f629. Wie schalte ich die auf HI-Z? Einfach als Output definieren reicht nicht? wieso geht ANSEL = 0x00; nicht? datenblatt s.43
oder
Gast
#778276
ADCON0 = 0x00; -> undefined identifier "ADCON0" Obwohl ich die header-datei eingebunden hab. CMCON = 0x07; -> Kein Problem ADCON"null" = 0; das 2te is nen null und kein O an sonsten binde doch noch die htc.h ein
Gast
#778294
Ja, da war noch was an den Eingängen! Jetzt bin ich bei 0.3mA! Aber ADCON0 = 0; (ja NULL!) Keine Ahnung wieso. pic.h htc.h sind eingebunden!! Alles andere ging auch (Timer 0, Timer1, Eingäng konfigurieren usw.)! Schau nochmal in das Datenblatt für den PIC, da sollte es unter "Electrical Specifications" eine Liste für den Stromverbrauch im SLEEP-Mode geben. Hatte grad nur das PIC12F683er Datenblatt da: Watchdog-Timer: 8.4µA BrownOut Detector: 109µA Analog Comparator: 60µA Interne Vref: 138µA Oszillator für Timer1 (Uhrenquarz): 10µA A/D Converter: 0.0029µA (alle Werte bei 5V) Jetzt raussuchen was nicht gebraucht wird, das abschalten, und in den Sleep-Mode gehen.
Gast
#778313
Ja, mein Problem ist ja nur das ich den ADC nicht ausschalten kann! Bringts dieser Brown Out Detector?? Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|