Go Down

Topic: Due RTC (Read 877 times) previous topic - next topic

Patouf

Jan 19, 2013, 11:29 am Last Edit: Jan 19, 2013, 11:31 am by Patouf Reason: 1
Hi, I am trying to get the due rtc working using register manipulation, following the method in the Sam doc. I tried this:
Code: [Select]

void setup()
{
 Serial.begin(9600);
 if(RTC_WPMR==0b01010010010101000100001100000001) bitSet(RTC_WPMR,0);// dissable Write protection
 bitSet(RTC_CR,0);  // request time and date update
 while(bitRead(RTC_SR,0)!=1)  //wait for acknowledge for update
 {}
 bitSet(RTC_SCCR,0);
 RTC_MR=0; //Set hour mode to 24h
 RTC_TIMR=0b00000000001000110011000000110000;// set time: 23:30:30
 bitClear(RTC_CR,0);//exit programing mode
 delay(5000);
}
void loop()
{
 rtcToTime(RTC_TIMR);
 delay(10000);
}
void rtcToTime(int rtcTime)
{
 int h=rtcTime>>16;
 int m=(rtcTime>>8)&0b000000000000000001111111;
 int s=rtcTime&0b00000000000000000000000001111111;
 Serial.print(h);Serial.print(':');Serial.print(m);Serial.print(':');Serial.println(s);
}

but the ide said that all the register names( RTC_WPMR, RTC_CR, etc...) were not declared. So if anyone can help me to make the ide understand that I am referring to  the sam's registers and not a variable?
Thanks
L.C.

Patouf

Never mind, I found what was wrong. Arduino uses different names for the register, that's why it didn't worked...
L.C.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy