Intial code push
This commit is contained in:
98
Telem_Debug/Debug2/RTC.c
Normal file
98
Telem_Debug/Debug2/RTC.c
Normal file
@@ -0,0 +1,98 @@
|
||||
//
|
||||
// Telemetry Real Time Clock
|
||||
//
|
||||
#include "Sunseeker2021.h"
|
||||
|
||||
/*************************************************************
|
||||
/ Name: setRTC
|
||||
/ IN: int hour, int minute, int second, int month, int day, int year
|
||||
/ OUT: 1 if succesful
|
||||
/ DESC: This function is used to set the Real Time Clock Values
|
||||
************************************************************/
|
||||
void init_RTC(void)
|
||||
{
|
||||
RTCCTL01 |= RTCBCD+RTCHOLD+RTCMODE; // RTC enable, BCD mode,
|
||||
// alarm every Minute,
|
||||
// enable RTC interrupt
|
||||
// P1OUT ^= (LED5 | LED6 | LED7| LED8);
|
||||
// setRTC(0,0,0,5,4,2016);
|
||||
RTCCTL01 &= ~RTCHOLD; // Enable counting
|
||||
}
|
||||
|
||||
//
|
||||
// char time_msg[17];// = "TL_TIM,HH:MM:SS\r\n";
|
||||
//
|
||||
int insert_time(char *time_string)
|
||||
{
|
||||
char h1, h0, m1, m0, s1, s0;
|
||||
extern int thrs, tmin, tsec;
|
||||
|
||||
h1 = ((thrs>>4) & 0x0F)+'0';
|
||||
h0 = (thrs & 0x0F)+'0';
|
||||
time_string[7] = h1;
|
||||
time_string[8] = h0;
|
||||
|
||||
m1 = ((tmin>>4) & 0x0F)+'0';
|
||||
m0 = (tmin & 0x0F)+'0';
|
||||
time_string[10] = m1;
|
||||
time_string[11] = m0;
|
||||
|
||||
s1 = ((tsec>>4) & 0x0F)+'0';
|
||||
s0 = (tsec & 0x0F)+'0';
|
||||
time_string[13] = s1;
|
||||
time_string[14] = s0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
/ Name: setRTC
|
||||
/ IN: int hour, int minute, int second, int month, int day, int year
|
||||
/ OUT: 1 if succesful
|
||||
/ DESC: This function is used to set the Real Time Clock Values
|
||||
************************************************************/
|
||||
int setRTC(int h, int m, int s, int mo, int d, int y)
|
||||
{
|
||||
SetRTCYEAR(y);
|
||||
delay();
|
||||
|
||||
// P1OUT ^= (LED5);
|
||||
SetRTCMON(mo);
|
||||
delay();
|
||||
|
||||
//P1OUT ^= (LED5 | LED6);
|
||||
SetRTCDAY(d);
|
||||
delay();
|
||||
|
||||
// P1OUT ^= (LED5);
|
||||
SetRTCHOUR(h);
|
||||
delay();
|
||||
|
||||
//P1OUT ^= (LED5 | LED6 | LED7);
|
||||
SetRTCMIN(m);
|
||||
delay();
|
||||
|
||||
// P1OUT ^= (LED5 );
|
||||
SetRTCSEC(s);
|
||||
delay();
|
||||
|
||||
//P1OUT ^= (LED5 | LED6 );
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
/ Name: getTime
|
||||
/ IN: int *hour, int *minute, int *second
|
||||
/ OUT: void
|
||||
/ DESC: This function returns the current time of the Real time clock
|
||||
************************************************************/
|
||||
void getTime(int *h, int *m, int *s)
|
||||
{
|
||||
int min_sec;
|
||||
while((RTCCTL0 && RTCRDYIFG) == 0);
|
||||
*h = GetRTCHOUR();
|
||||
while((RTCCTL0 && RTCRDYIFG) == 0);
|
||||
min_sec = GetRTCTIM0();
|
||||
*m = (min_sec & 0xFF00)>>8;
|
||||
*s = min_sec & 0x00FF;
|
||||
}
|
||||
Reference in New Issue
Block a user