RTC DS1307 Alarm einzelnd aktivieren

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
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren