大家好,
1. 首先介绍一下我使用的环境:
Code Composer Studio Version: 8.1.0.00011
simplelink_msp432p4_sdk_2_20_00_12
硬件:MSP432P401R(自己画的板)
2. 外接了LFXT=32.768KHz,|PPM| < 15
3. 在SDK(RTOS)下,编写了一个程序,程序功能:
<1> 上电初始化,给RTC设置一个开始时间;
<2> 定时(1分钟)读取RTC的时间,并用UART_write() 输出;
4. 设备供电运行1天后,发现时间与电脑相差80秒左右;
5. 这是开启RTC,并且进入BIOS,运行在Task中的寄存器截图;
求大神指点迷津!
谢谢!
Susan Yang:
“<2> 定时(1分钟)读取RTC的时间,并用UART_write() 输出;” 请问您是如何实现的?
gaoyang9992006:
也有可能是晶振不准。
Gilbert:
回复 Susan Yang:
Susan Yang,
你好!
<1> 定时(1分钟)是用Task_sleep((uint32_t) 60 * 1000 * 1000 / Clock_tickPeriod);来实现的;
<2> 我自定义了两个函数:
(1) extern void rtc_set(const Calendar *init_value);设置RTC时间,并开启RTC;
(2) extern Calendar rtc_get(void); 读取RTC的当前时间;
<3> UART_write() ,是从UART_echo的例程移植而来;
这是串口输出的结果:
谢谢!
Gilbert:
回复 gaoyang9992006:
gaoyang9992006,你好!我将程序配置成:ACLK=LFXTCLK(标称32.768KHz),并使P4.2输出ACLK的频率;测得晶振的 |PPM| < 15;谢谢!
Susan Yang:
回复 Gilbert:
函数是没有问题的,能给出对应的代码吗?
Gilbert:
回复 Susan Yang:
哪一部分的代码?设置/获取时间? 还是串口输出?
user5006221:
请问msp432的RTC能和stm32的RTC一样用纽扣电池来供电然后一直在运行吗