Go Down

Topic: Due RTC (Read 775 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