OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3704|回复: 2

RTC实验去掉USMART文件夹后时钟出错

[复制链接]

16

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2013-10-31
在线时间
26 小时
发表于 2017-10-19 14:15:51 | 显示全部楼层 |阅读模式
5金钱
试了好多次都是这种情况,去掉USMART文件夹后,用串口发送时间日期,然后关机后过段时间再开机,时间却还是停留在上一次关机的时间,加上这个USMART后就正常了。求解答

最佳答案

查看完整内容[请看2#楼]

去掉usmart,你都无法通过串口设置时间了,还能设置个锤子。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165513
金钱
165513
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-10-19 14:15:52 | 显示全部楼层
去掉usmart,你都无法通过串口设置时间了,还能设置个锤子。。。
回复

使用道具 举报

16

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2013-10-31
在线时间
26 小时
 楼主| 发表于 2017-10-20 09:25:13 | 显示全部楼层
正点原子 发表于 2017-10-19 14:15
去掉usmart,你都无法通过串口设置时间了,还能设置个锤子。。。

我是在程序里先设置时间 然后再屏蔽掉。代码如下:[mw_shl_code=c,true]#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "rtc.h"

int main(void)
{
    RTC_TimeTypeDef RTC_TimeStruct;
    RTC_DateTypeDef RTC_DateStruct;
    u8 tbuf[40];
    HAL_Init();                     //3õê¼»ˉHAL¿a   
    Stm32_Clock_Init(360,25,2,8);   //éèÖÃê±Öó,180Mhz
    delay_init(180);                //3õê¼»ˉÑóê±oˉêy
    uart_init(115200);              //3õê¼»ˉUSART
    RTC_Init();                     //3õê¼»ˉRTC
    RTC_Set_WakeUp(RTC_WAKEUPCLOCK_CK_SPRE_16BITS,0); //ÅäÖÃWAKE UPÖD¶Ï,1ÃëÖóÖD¶Ïò»′Π  
               
//          RTC_Set_Time(11,59,40,RTC_HOURFORMAT12_AM);      //RTCê±¼äéèÖÃ
//          RTC_Set_Date(17,10,19,4);        //RTCèÕÆúéèÖÃ
       
    while(1)
    {
                                delay_ms(1000);
                                HAL_RTC_GetTime(&RTC_Handler,&RTC_TimeStruct,RTC_FORMAT_BIN);
                                sprintf((char*)tbuf,"Time:%02d:%02d:%02d",RTC_TimeStruct.Hours,RTC_TimeStruct.Minutes,RTC_TimeStruct.Seconds);
                                printf("%s\r\n", tbuf);
                               
                                HAL_RTC_GetDate(&RTC_Handler,&RTC_DateStruct,RTC_FORMAT_BIN);
                                sprintf((char*)tbuf,"Date:20%02d-%02d-%02d",RTC_DateStruct.Year,RTC_DateStruct.Month,RTC_DateStruct.Date);
                                printf("%s\r\n", tbuf);
                       
                                sprintf((char*)tbuf,"Week:%d",RTC_DateStruct.WeekDay);
                                printf("%s\r\n\r\n", tbuf);
        }  
}
[/mw_shl_code]

只通过串口打印时间日期。但是会出现上述问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-18 20:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表