Expand description
§DS1307 RTC Driver
A Rust driver for the DS1307 Real-Time Clock (RTC) chip, implementing the embedded-hal and rtc-hal traits for integration with embedded Rust projects.
§Features
- Read and set date/time
- Control power (start/stop the clock)
- Use 56 bytes of memory storage
- Generate square wave signals
- Control output pin
§Basic usage
use ds1307_rtc::Ds1307;
use rtc_hal::rtc::Rtc; // rtc_hal trait required to be imported to be used
use rtc_hal::datetime::DateTime;
// Set up I2C (depends on your board)
let i2c = /* your I2C setup */;
// Create the driver
let mut rtc = Ds1307::new(i2c);
// Set time to August 21, 2025 at 2:30 PM
let time = DateTime::new(2025, 8, 21, 14, 30, 0).unwrap();
rtc.set_datetime(&time).unwrap();
// Read current time
let now = rtc.get_datetime().unwrap();§Examples
Example projects are available in the separate ds1307-examples repository to help you get started.
§License
This project is licensed under the MIT License.
Modules§
- control
- Power control implementation for the DS1307
- datetime
- DateTime Module
- error
- Error type definitions for the DS1307 RTC driver.
- nvram
- DS1307 NVRAM Support
- registers
- DS1307 Registers
- square_
wave - DS1307 Square Wave Output Support
Structs§
Traits§
- Rtc
- Core trait for Real-Time Clock (RTC) devices.