7 #ifndef __MSP430WARE_RTC_B_H__
8 #define __MSP430WARE_RTC_B_H__
12 #ifdef __MSP430_HAS_RTC_B__
32 typedef struct Calendar {
55 typedef struct RTC_B_configureCalendarAlarmParam {
67 uint8_t dayOfWeekAlarm;
71 uint8_t dayOfMonthAlarm;
72 } RTC_B_configureCalendarAlarmParam;
81 #define RTC_B_CALIBRATIONFREQ_OFF (RTCCALF_0)
82 #define RTC_B_CALIBRATIONFREQ_512HZ (RTCCALF_1)
83 #define RTC_B_CALIBRATIONFREQ_256HZ (RTCCALF_2)
84 #define RTC_B_CALIBRATIONFREQ_1HZ (RTCCALF_3)
92 #define RTC_B_CALIBRATION_DOWN2PPM (!(RTCCALS))
93 #define RTC_B_CALIBRATION_UP4PPM (RTCCALS)
101 #define RTC_B_FORMAT_BINARY (!(RTCBCD))
102 #define RTC_B_FORMAT_BCD (RTCBCD)
111 #define RTC_B_ALARMCONDITION_OFF (0x80)
119 #define RTC_B_CALENDAREVENT_MINUTECHANGE (RTCTEV_0)
120 #define RTC_B_CALENDAREVENT_HOURCHANGE (RTCTEV_1)
121 #define RTC_B_CALENDAREVENT_NOON (RTCTEV_2)
122 #define RTC_B_CALENDAREVENT_MIDNIGHT (RTCTEV_3)
130 #define RTC_B_PSEVENTDIVIDER_2 (RT0IP_0)
131 #define RTC_B_PSEVENTDIVIDER_4 (RT0IP_1)
132 #define RTC_B_PSEVENTDIVIDER_8 (RT0IP_2)
133 #define RTC_B_PSEVENTDIVIDER_16 (RT0IP_3)
134 #define RTC_B_PSEVENTDIVIDER_32 (RT0IP_4)
135 #define RTC_B_PSEVENTDIVIDER_64 (RT0IP_5)
136 #define RTC_B_PSEVENTDIVIDER_128 (RT0IP_6)
137 #define RTC_B_PSEVENTDIVIDER_256 (RT0IP_7)
146 #define RTC_B_PRESCALE_0 (0x0)
147 #define RTC_B_PRESCALE_1 (0x2)
158 #define RTC_B_TIME_EVENT_INTERRUPT RTCTEVIE
159 #define RTC_B_CLOCK_ALARM_INTERRUPT RTCAIE
160 #define RTC_B_CLOCK_READ_READY_INTERRUPT RTCRDYIE
161 #define RTC_B_PRESCALE_TIMER0_INTERRUPT 0x02
162 #define RTC_B_PRESCALE_TIMER1_INTERRUPT 0x01
163 #define RTC_B_OSCILLATOR_FAULT_INTERRUPT RTCOFIE
182 extern void RTC_B_startClock(uint16_t baseAddress);
195 extern void RTC_B_holdClock(uint16_t baseAddress);
221 extern void RTC_B_setCalibrationFrequency(uint16_t baseAddress,
222 uint16_t frequencySelect);
249 extern void RTC_B_setCalibrationData(uint16_t baseAddress,
250 uint8_t offsetDirection,
251 uint8_t offsetValue);
281 extern void RTC_B_initCalendar(uint16_t baseAddress,
282 Calendar *CalendarTime,
283 uint16_t formatSelect);
299 extern Calendar RTC_B_getCalendarTime(uint16_t baseAddress);
318 extern void RTC_B_configureCalendarAlarm(uint16_t baseAddress,
319 RTC_B_configureCalendarAlarmParam *
param);
341 extern void RTC_B_setCalendarEvent(uint16_t baseAddress,
342 uint16_t eventSelect);
373 extern void RTC_B_definePrescaleEvent(uint16_t baseAddress,
374 uint8_t prescaleSelect,
375 uint8_t prescaleEventDivider);
394 extern uint8_t RTC_B_getPrescaleValue(uint16_t baseAddress,
395 uint8_t prescaleSelect);
416 extern void RTC_B_setPrescaleValue(uint16_t baseAddress,
417 uint8_t prescaleSelect,
418 uint8_t prescaleCounterValue);
448 extern void RTC_B_enableInterrupt(uint16_t baseAddress,
449 uint8_t interruptMask);
479 extern void RTC_B_disableInterrupt(uint16_t baseAddress,
480 uint8_t interruptMask);
524 extern uint8_t RTC_B_getInterruptStatus(uint16_t baseAddress,
525 uint8_t interruptFlagMask);
555 extern void RTC_B_clearInterrupt(uint16_t baseAddress,
556 uint8_t interruptFlagMask);
572 extern uint16_t RTC_B_convertBCDToBinary(uint16_t baseAddress,
573 uint16_t valueToConvert);
589 extern uint16_t RTC_B_convertBinaryToBCD(uint16_t baseAddress,
590 uint16_t valueToConvert);
MPU_initThreeSegmentsParam param