Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
#include <Wire.h> #define BAUD_RATE 19200 #define statusLED 12 // Addr. |Mode (162 + Read) #define RTCAddressW 0xA2 #define RTCAddressR 0xA3 volatile int blinkStatus = LOW; void setup(void) { // initialize inputs/outputs // start serial Serial.begin(BAUD_RATE); Wire.begin(); Wire.beginTransmission(RTCAddressW); Wire.send(0); Wire.endTransmission(); // Registers Wire.beginTransmission(RTCAddressW); Wire.send(B00000000); // 00H Test mode Wire.send(B00000000); // 01H Alarm mode Wire.send(B00000001); // 02H Seconds Wire.send(30); // 03H Minutes:p Wire.send(19); // 04H Hours Wire.send(11); // 05H Date Wire.send(2); // 06H Day of the week Wire.send(B00000000); // 07H Century bit 19XX = 1 | 20XX = 0 Wire.send(7); // 08H year Wire.send(B00000000); // 09H Minute alarm Wire.send(B00000000); // 0AH Hour alarm Wire.send(B10000000); // 0BH Day alarm Wire.send(B10000000); // 0CH Weekday alarm Wire.send(B10000011); // 0DH CLKOUT control (00: 32.768Khz 11: 1Hz) Wire.send(B00000000); // 0EH Timer control Wire.send(B00000000); // 0FH Timer Wire.endTransmission(); reportAVRState(3,0); } char i = 0; #define numberOfRegisters 16 char c[numberOfRegisters]; void loop() { Wire.beginTransmission(RTCAddressR); Wire.send(0); Wire.endTransmission(); Wire.beginTransmission(RTCAddressR); Wire.requestFrom(RTCAddressR, numberOfRegisters); // request 1 bytes from slave device #32 i = 0; while(Wire.available()) // slave may send less than requested { c[i] = Wire.receive(); i++; } Wire.endTransmission(); for(i=0;i<numberOfRegisters;i++) { Serial.print(i); Serial.print(":\t"); Serial.println(c, BIN); // receive a byte as character } Serial.println("Waiting a little"); delay(2000); } // Reports the state of the controller via pin 13's led and serial void reportAVRState(int howManyTimes, int leaveOn) { int i; pinMode(statusLED, OUTPUT); for (i=0; i < howManyTimes; i++) { digitalWrite(statusLED, HIGH); delay(200); digitalWrite(statusLED, LOW); delay(200); } if (leaveOn) { digitalWrite(statusLED, HIGH); } Serial.println(); Serial.println("AVR Initialized"); }
This paste will be private.
From the Design Piracy series on my blog: