14.10.2.2.2 Workflow
- Initialize system.
system_init();
- Configure and enable module.
configure_rtc_count();
- Create a RTC configuration structure to hold the desired RTC driver settings and fill it with the default driver configuration values.
struct
rtc_count_config config_rtc_count;
rtc_count_get_config_defaults(&config_rtc_count);
Note: This should always be performed before using the configuration struct to ensure that all values are initialized to known default settings. - Alter the RTC driver configuration to run in 16-bit counting mode, with continuous counter register updates and a compare value of 1000ms.
config_rtc_count.prescaler = RTC_COUNT_PRESCALER_DIV_1;
config_rtc_count.mode = RTC_COUNT_MODE_16BIT;
#ifdef FEATURE_RTC_CONTINUOUSLY_UPDATED
config_rtc_count.continuously_update =
true
;
#endif
- Initialize the RTC module.
rtc_count_init(&rtc_instance, RTC, &config_rtc_count);
- Enable the RTC module, so that it may begin counting.
rtc_count_enable(&rtc_instance);
- Configure callback functionality.
configure_rtc_callbacks();
- Register overflow callback.
rtc_count_register_callback(
&rtc_instance, rtc_overflow_callback, RTC_COUNT_CALLBACK_OVERFLOW);
- Enable overflow callback.
rtc_count_enable_callback(&rtc_instance, RTC_COUNT_CALLBACK_OVERFLOW);
- Set period.
rtc_count_set_period(&rtc_instance, 2000);