So wieder schlechte Neuigkeiten...
Habe den Beispielcode verwendet um den RAM zu clearen und hello world zu printen.
Angeschlossen an die digital Pins 4 5 6.
Bekomme folgendes geprinted:
[00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]
Wo ist der Unterschied zu den Pins 2 3 4, da bekomme ich folgendes geprinted:
[34][65][36][36][6F][10][77][6F][39][36][32][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]
´26¶7�»7962
Mhmm... Hier noch der Code dazu.
#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 = 4; // Chip Enable
const int kIoPin = 5; // Input/Output
const int kSclkPin = 6; // Serial Clock
DS1302 rtc(kCePin, kIoPin, kSclkPin);
} // namespace
void setup() {
Serial.begin(9600);
rtc.writeProtect(false);
// Clear all RAM bytes, using the byte interface.
for (int i = 0; i < DS1302::kRamSize; ++i) {
rtc.writeRam(i, 0x00);
}
// Write a string using the bulk interface.
static const char kHelloWorld[] = "hello world";
rtc.writeRamBulk((uint8_t*)kHelloWorld, sizeof(kHelloWorld) - 1);
}
void loop() {
char buf[32];
// Print the RAM byte values as hex using the byte interface.
for (int i = 0; i < DS1302::kRamSize; ++i) {
snprintf(buf, sizeof(buf), "[%02X]", rtc.readRam(i));
Serial.print(buf);
}
Serial.println();
// Print the RAM byte values as ASCII using the bulk interface.
uint8_t ram[DS1302::kRamSize];
rtc.readRamBulk(ram, DS1302::kRamSize);
Serial.println((const char*)ram);
delay(3000);
}
Dann habe ich den set_clock Beispielcode probiert
// 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 = 4; // Chip Enable
const int kIoPin = 5; // Input/Output
const int kSclkPin = 6; // 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);
// Print the formatted string to serial so we can see the time.
Serial.println(buf);
}
} // namespace
void setup() {
Serial.begin(9600);
// Initialize a new chip by turning off write protection and clearing the
// clock halt flag. These methods needn't always be called. See the DS1302
// datasheet for details.
rtc.writeProtect(false);
rtc.halt(false);
// Make a new time object to set the date and time.
// Sunday, September 22, 2013 at 01:38:50.
Time t(2013, 9, 22, 1, 38, 50, Time::kSunday);
// Set the time and date on the chip.
rtc.time(t);
}
// Loop and print the time every second.
void loop() {
printTime();
delay(1000);
}
Hier als Antwort wie gehabt, jeder zweite Wert ist falsch?
(unknown day) 2009-84-91 00:102:28
Sunday 2013-09-22 01:38:51
(unknown day) 2009-84-91 00:102:29
Sunday 2013-09-22 01:38:53
(unknown day) 2009-84-91 00:102:30
Sunday 2013-09-22 01:38:55
(unknown day) 2009-84-91 00:102:31
Sunday 2013-09-22 01:38:57
(unknown day) 2009-84-91 00:102:32
Sunday 2013-09-22 01:38:59
(unknown day) 2009-84-91 00:102:00
Langsam verzweifel ich!
Glaube das Ding fällt gleich ausversehen ins Klo...