Hanna
Sourcecode Batteriemanagementsystem |
Header, Definition der Konstanten und Commands für DS1388. Mehr ...
#include <stdbool.h>
gehe zum Quellcode dieser Datei
Datenstrukturen | |
struct | datetime_t |
Makrodefinitionen | |
Zeit einstellen | |
#define | settime(zehner, einser) (einser | (zehner << 4)) |
#define | ZEIT_SETZEN 1 |
TWI (I2C) Konfiguration | |
#define | TWI_BAUDRATE 100000 |
#define | TWI_BAUDSETTING TWI_BAUD(F_CPU, TWI_BAUDRATE) |
#define | TWI_RTC_MASTER_PORT PORTE |
#define | TWI_RTC TWIE |
Auswahl des Funktionsblocks, der angesprochen wird und TWI-Adresse | |
#define | DS1388_ADDR_BITS 0x68 |
Basisadresse, muss um Blockadresse ergänzt werden. | |
#define | DS1388_BLOCKSEL_CLOCK_BITS 0x00 |
Uhr-Block. | |
#define | DS1388_BLOCKSEL_L_EEPROM_BITS 0x01 |
Lower EEPROM Block. | |
#define | DS1388_BLOCKSEL_U_EEPROM_BITS 0x02 |
Upper EEPROM Block. | |
#define | DS1388_CLOCK_ADDR (DS1388_ADDR_BITS | DS1388_BLOCKSEL_CLOCK_BITS) |
Uhr-Adresse. | |
#define | DS1388_L_EEPROM_ADDR (DS1388_ADDR_BITS | DS1388_BLOCKSEL_L_EEPROM_BITS) |
Lower EEPROM Adresse. | |
#define | DS1388_U_EEPROM_ADDR (DS1388_ADDR_BITS | DS1388_BLOCKSEL_U_EEPROM_BITS) |
Upper EEPROM Adresse. | |
Registeradressen | |
#define | DS1388_H_SEC_REG 0x00 |
Register Hundertstel Sekunden. | |
#define | DS1388_SEC_REG 0x01 |
Register Sekunden. | |
#define | DS1388_MIN_REG 0x02 |
Register Minuten. | |
#define | DS1388_HR_REG 0x03 |
Register Stunden. | |
#define | DS1388_WDAY_REG 0x04 |
Register Wochentag. | |
#define | DS1388_DAY_REG 0x05 |
Register Tag. | |
#define | DS1388_MON_REG 0x06 |
Register Monat. | |
#define | DS1388_YR_REG 0x07 |
Register Jahr. | |
#define | DS1388_TRICKLE_CHRG_REG 0x0A |
Trickle Charger zum Laden des Backup-Akkus; TCS3 TCS2 TCS1 TCS0 DS1 DS0 ROUT1 ROUT0. | |
#define | DS1388_FLAG_REG 0x0B |
Flag Register zeigt die OSF und WD Flags an; OSF WF 0 0 0 0 0 0 Flag. | |
#define | DS1388_CTRL_REG 0x0C |
Control Register schaltet Oszillator mit Batterie und die Watchdogfunktionen; !EOSC 0 0 0 0 0 WDE WD/RST. | |
CONFIG Register | |
#define | DS1388_24HR_SEL_bm 0x00 |
24-h-Darstellung, Bit 6 = 0 (&-Verknüpfung!) | |
#define | DS1388_12HR_SEL_bm 0x40 |
12-h-Darstellung, Bit 6 = 1 (|-Verknüpfung!), bit5 zeigt !AM/PM | |
#define | DS1388_TR_CHG_DISABLE_bm 0x00 |
Trickle Charger disabled, Backupbatterie nicht aufladbar. | |
#define | DS1388_FLAG_REG_RST_bm 0x00 |
Oscillator Stop Flag, muss zum Start auf 0 gesetzt werden. | |
#define | DS1388_WD_RST_EN_bm 0x03 |
Watchdog und RST PIN enabled, (RST auf GND für Twd, wenn WD=0) | |
#define | DS1388_WD_RST_DIS_bm 0x00 |
Watchdog und RST PIN disabled. | |
#define | DS1388_OSC_EN_bm 0x00 |
Oszillator im Batteriebetrieb ein. | |
#define | DS1388_OSC_DIS_bm 0x80 |
Oszillator im Batteriebetrieb aus (Zeit wird nicht mehr weitergezählt !) | |
Filter, alle Register sind 8bit-Register | |
#define | DS1388_001_SEC_FLT_bm 0x0F |
Filter Hundertstel Sekunden. | |
#define | DS1388_01_SEC_FLT_bm 0xF0 |
Filter Zehntel Sekunden. | |
#define | DS1388_SEC_FLT_bm 0x0F |
Filter Sekunden (max 9) | |
#define | DS1388_10_SEC_FLT_bm 0x70 |
Filter 10 Sekunden (max 5) | |
#define | DS1388_MIN_FLT_bm 0x0F |
Filter Minuten (max 9) | |
#define | DS1388_10_MIN_FLT_bm 0x70 |
Filter 10 Minuten (max 5) | |
#define | DS1388_HR_FLT_bm 0x0F |
Filter Stunden (max 9) | |
#define | DS1388_10_HR_24_FLT_bm 0x30 |
Filter 10 Stunden im 24h-Format (max 2) | |
#define | DS1388_10_HR_12_FLT_bm 0x10 |
Filter 10 Stunden im 12h-Format (max 1) | |
#define | DS1388_AM_PM_FLT_bm 0x20 |
Filter AM (0) PM (1) Anzeige. | |
#define | DS1388_WDAY_FLT_bm 0x07 |
Filter Wochentag (01-07) | |
#define | DS1388_DAY_FLT_bm 0x0F |
Filter Tag (einstellig, max 9) | |
#define | DS1388_10_DAY_FLT_bm 0x30 |
Filter 10 Tage (max 3) | |
#define | DS1388_MON_FLT_bm 0x0F |
Filter Monat (einstellig) | |
#define | DS1388_10_MON_FLT_bm 0x10 |
Filter 10 Monate (0-1) | |
#define | DS1388_YR_FLT_bm 0x0F |
Filter Jahr (einstellig, max 9) | |
#define | DS1388_10_YR_FLT_bm 0xF0 |
Filter Zehn Jahre (max 9) | |
#define | DS1388_24HR_SET_FLT_bm 0x40 |
SET 24h-Format gesetzt (=0) ? | |
#define | DS1388_OSF_FLAG_FLT_bm 0x80 |
1 zeigt an, dass der Oszillator ausgeschaltet war und damit die Zeitdaten nicht mehr korrekt sind. | |
Aufzählungen | |
enum | weekday { montag = 1, dienstag, mittwoch, donnertsag, freitag, samstag, sonntag } |
Funktionen | |
void | DS1388_get_datetime (void) |
Die Uhrzeit und das Datum werden ausgelesen. Mehr ... | |
void | DS1388_init () |
Einstellungen des µC für die Arbeit mit DS1388. Mehr ... | |
void | DS1388_set_datetime (void) |
Die Uhrzeit und das Datum werden neu gesetzt. Mehr ... | |
Variablen | |
datetime_t | now |
uint8_t | sendRegData [] |
char | weekday [8][10] |
Header, Definition der Konstanten und Commands für DS1388.
$Revision: 363 $ $Date: 2016-03-21 21:28:33 +0100 (Mon, 21 Mar 2016) $
Definiert in Datei ds1388_rtc.h.
void DS1388_get_datetime | ( | void | ) |
Die Uhrzeit und das Datum werden ausgelesen.
Die Uhrzeit und das Datum werden vollständig ausgelesen und in der globalen struct-Variable now gespeichert.
Definiert in Zeile 107 der Datei ds1388_rtc.c.
void DS1388_init | ( | ) |
Einstellungen des µC für die Arbeit mit DS1388.
Einstellungen des µC für die Arbeit mit DS1388. Insbesondere Interrupts und Eingang für den Event Pin werden aktiviert.
Definiert in Zeile 46 der Datei ds1388_rtc.c.
void DS1388_set_datetime | ( | void | ) |
Die Uhrzeit und das Datum werden neu gesetzt.
Die Uhrzeit und das Datum werden neu gesetzt. Eine Batterie dient als Pufferspeicher und soll ermöglichen, dass die Uhr im RTC-Baustein weiterläuft. Wenn die Zeit nicht stimmt oder neu justiert werden muss, wird diese Funktion einmalig eingesetzt.
Definiert in Zeile 166 der Datei ds1388_rtc.c.