Proyecto Final – Medición de Inclinación 0.0.1
Este proyecto utiliza la placa NUCLEO-STM32F446RE y permite detectar y visualizar en tiempo real la inclinación mediante el sensor MPU-6050.
Cargando...
Buscando...
Nada coincide
ds3231.h
Ir a la documentación de este archivo.
1
7
8#ifndef DS3231_H
9#define DS3231_H
10
11#include <stdint.h>
12#include <stdbool.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18/* -------------------------------------------------------------------------- */
19/* ENUMS Y STRUCTS */
20/* -------------------------------------------------------------------------- */
21
22typedef enum {
23 DS3231_OK = 0, // OK
24 DS3231_ERROR = -1, // Error genérico de HAL
25 DS3231_TIMEOUT = -2, // Timeout de comunicación I2C
26 DS3231_NOT_READY = -3, // El DS3231 no respondió al address
27 DS3231_INVALID_PARAM = -4, // Parámetros inválidos
28 DS3231_BUSY = -5, // HAL Busy
29} DS3231_Status;
30
34typedef struct {
35 uint8_t seconds;
36 uint8_t minutes;
37 uint8_t hours;
38 uint8_t day;
39 uint8_t date;
40 uint8_t month;
41 uint8_t year;
43
56static inline uint8_t dec2bcd(uint8_t value) {
57 return (uint8_t)(((value/10) << 4) | (value % 10));
58}
59static inline uint8_t bcd2dec(uint8_t value) {
60 return (uint8_t)(((value >> 4) * 10) + (value & 0x0F));
61}
62
63/* -------------------------------------------------------------------------- */
64/* API pública */
65/* -------------------------------------------------------------------------- */
66
72DS3231_Status DS3231_Init(void);
73
79DS3231_Status DS3231_ReadTime(DS3231_Time *time);
80
81
93DS3231_Status DS3231_SetTime(uint8_t year, uint8_t month, uint8_t date, uint8_t day, uint8_t hour, uint8_t min, uint8_t sec);
94
108
109#ifdef __cplusplus
110}
111#endif
112
113#endif /* DS3231_H */
DS3231_Status DS3231_ReadTime(DS3231_Time *time)
Lee la hora actual desde el DS3231.
Definition ds3231.c:32
DS3231_Status DS3231_Init(void)
Verifica la presencia del DS3231 en el bus de I2C.
Definition ds3231.c:26
DS3231_Status DS3231_SetTime(uint8_t year, uint8_t month, uint8_t date, uint8_t day, uint8_t hour, uint8_t min, uint8_t sec)
Configura la fecha y hora del RTC.
Definition ds3231.c:73
Estructura de tiempo.
Definition ds3231.h:34
uint8_t hours
Definition ds3231.h:37
uint8_t date
Definition ds3231.h:39
uint8_t month
Definition ds3231.h:40
uint8_t seconds
Definition ds3231.h:35
uint8_t day
Definition ds3231.h:38
uint8_t minutes
Definition ds3231.h:36
uint8_t year
Definition ds3231.h:41