background image

 

VMA301 

V. 02 – 14/05/2018 

©Velleman nv 

7.

 

Example 

 

// Example sketch for interfacing with the DS1302 timekeeping chip. 
// 
// Copyright (c) 2009, Matt Sparks 
// All rights reserved. 
// 
// http://quadpoint.org/projects/arduino-ds1302 
#include <stdio.h> 
#include <DS1302.h> 
 
namespace { 
 
// Set the appropriate digital I/O pin connections. These are the pin 
// assignments for the Arduino as well for as the DS1302 chip. See the DS1302 
// datasheet: 
// 
//   http://datasheets.maximintegrated.com/en/ds/DS1302.pdf 
const int kCePin   = 5;  // Chip Enable 
const int kIoPin   = 6;  // Input/Output 
const int kSclkPin = 7;  // Serial Clock 
 
// Create a DS1302 object. 
DS1302 rtc(kCePin, kIoPin, kSclkPin); 
 
String dayAsString(const Time::Day day) { 
  switch (day) { 
    case Time::kSunday: return "Sunday"; 
    case Time::kMonday: return "Monday"; 
    case Time::kTuesday: return "Tuesday"; 
    case Time::kWednesday: return "Wednesday"; 
    case Time::kThursday: return "Thursday"; 
    case Time::kFriday: return "Friday"; 
    case Time::kSaturday: return "Saturday"; 
  } 
  return "(unknown day)"; 

 
void printTime() { 
  // Get the current time and date from the chip. 
  Time t = rtc.time(); 
 
  // Name the day of the week. 
  const String day = dayAsString(t.day); 
 
  // Format the time and date and insert into the temporary buffer. 
  char buf[50]; 
  snprintf(buf, sizeof(buf), "%s %04d-%02d-%02d %02d:%02d:%02d", 
           day.c_str(), 
           t.yr, t.mon, t.date, 
           t.hr, t.min, t.sec); 
 
 

Отзывы: