RTC DS1307 Alarm einzelnd aktivieren

OP Persönliche Seite #5703458
Lesenswert?
• ▲
▼
Hi,

ich habe den besagten Chip erfolgreich laufen, aber kann mich nicht 
wirklich daran erinnern, welches Bit dafür zuständig ist den Alarm zu 
aktivieren  (finde die entsprechende Passage auch gerade nicht im 
Datenblatt).

Folgendes geschieht:
- ich stelle die Uhrzeit ein
- ich stelle die Alarmzeit ein (2-3 min in der Zukunft zur Uhr)

und ich bekomme mit:
1
#define A2F 0b00000010
2
#define STATUS_REGISTER 0x0F//OSF
3

4
bool DS1307_STATUS(uint8_t bit){
5
    return I2C_ReadRegister(DS1307, STATUS_REGISTER) & bit;
6
}
7
bool DS1307_ALARM_2(){
8
    return DS1307_STATUS(A2F);
9
}

einen trigger!

Ebenso kann ich diesen mit
1
bool DS1307_STATUS(){
2
    I2C_WriteRegister(DS1307, STATUS_REGISTER, 0x00);
3
}
unterbinden.

Meine Vermutung ist, dass ich beim schreiben der Alarmzeit bereits das 
entsprechende Bit MIT schreibe, so, dass der Alarm danach immer gleich 
scharf ist.

Sicherlich kann man aber auch die Uhrzeit "in Ruhe" eintragen und dieses 
Bit im Nachgang setzen, oder?

Genau das hätte ich gerne :)
Bin ich hier schon auf der richtigen Spur?
1
...
2
#define DAYS_DAYOFWK_A2_REGISTER 0x0D
3
day |= 0b01000000 //Bit 6 setzen für Alarm???
4
I2C_WriteRegister(DS1307, DAYS_DAYOFWK_A2_REGISTER , day);
5
...



Grüße David
Gast #5703683
Lesenswert?
• ▲
▼
So ist das: ( die Suche hat 30 Sekunden incl. durchlesen gedauert)


Key Features
Completely Manages All Timekeeping Functions
Real-Time Clock Counts Seconds, Minutes, Hours, Date of the Month, 
Month, Day of the Week, and Year with Leap-Year Compensation Valid Up to 
2100
56-Byte, Battery-Backed, General-Purpose RAM with Unlimited Writes
Programmable Square-Wave Output Signal
Simple Serial Port Interfaces to Most Microcontrollers
I2C Serial Interface
Low Power Operation Extends Battery Backup Run Time
Consumes Less than 500nA in Battery-Backup Mode with Oscillator Running
Automatic Power-Fail Detect and Switch Circuitry
8-Pin DIP and 8-Pin SO Minimizes Required Space
Optional Industrial Temperature Range: -40°C to +85°C Supports Operation 
in a Wide Range of Applications
Underwriters Laboratories® (UL) Recognized
OP Persönliche Seite #5708729
Lesenswert?
• ▲
▼
Blub schrieb:
> Der DS1337 hat 2 Alarme.

Es ist tatsächlich der DS1337.

Datenblatt: "To clear Alarm2, the A2F status bit must be set to “0” with 
a
write." + Bilder

Heißt doch, dass ich jedes mal, wenn ich den Alarm "nur" 
aktivieren/deaktivieren möchte zuerst die eingestellte Zeit lesen muss 
und dann mit dem entsprechenden Bit zurückschreiben kann.
Angehängte Dateien:

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.