CC2640需要做时间计时(时分秒..),每秒加一,每1分钟将当前时间写入flash,用哪种方式比较合适,我能想到的方法:
1. 直接开一个clock timer,定时1秒
2. 用sensor control计时,每次主应用需要用到计时值就从中取出来,每1分钟触发一个中断来写flash。
问题:
1. 方法②是否可以实现?
2. 是否还有别的更好的方法。
Viki Shi:
建议直接用RTC来做
AndyChen:
回复 Viki Shi:
哪里有RTC的Demo? 只找到了下面两个rtc相关的文件,是用_common文件夹下的这个吗?
C:\ti\simplelink_cc2640r2_sdk_2_20_00_49\source\ti\blestack\hal\src\target\_common\hal_rtc_wrapper.c
C:\ti\simplelink_cc2640r2_sdk_2_20_00_49\source\ti\blestack\hal\src\target\cc2650tirtos\hal_rtc_wrapper.c
Alvin Chen:
回复 AndyChen:
Hi Viki and Zhou,
Please refer to below code for RTC.
#include <time.h> #include <ti/sysbios/hal/Seconds.h> UInt32 t; time_t t1; struct tm *ltm; char *curTime; /* set to today’s date in seconds since Jan 1, 1970 */ Seconds_set(1412800000); /* Wed, 08 Oct 2014 20:26:40 GMT */ /* retrieve current time relative to Jan 1, 1970 */ t = Seconds_get(); /** Use overridden time() function to get the current time.* Use standard C RTS library functions with return from time().* Assumes Seconds_set() has been called as above*/ t1 = time(NULL); ltm = localtime(&t1); curTime = asctime(ltm); System_printf("Time(GMT): %s\n", curTime);
da qin zheng sheng:
rtc可以在低功耗模式工作,可以考虑使用。
AndyChen:
回复 Alvin Chen:
Hi Alvin,
我在simplelink_cc2640r2_sdk_2_20_00_49中没有找到 Seconds.h 这个文件。