OpenEdv-开源电子网

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

为什么我将rtc实验代码移植到emwin的时候会出现错误(相关的文件都已经添加好了)?

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2019-2-19
在线时间
0 小时
发表于 2019-2-19 12:11:22 | 显示全部楼层 |阅读模式
1金钱
u8 RTC_Init(void)
{
        //¼ì2éêÇ2»êÇμúò»′ÎÅäÖÃê±Öó
        u8 temp=0;
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);        //ê1ÄüPWRoíBKPíaéèê±Öó   
        PWR_BackupAccessCmd(ENABLE);        //ê1Äüo󱸼Ä′æÆ÷·ÃÎê  
        if (BKP_ReadBackupRegister(BKP_DR1) != 0x5050)                //′óÖ¸¶¨μÄo󱸼Ä′æÆ÷ÖD¶á3öêy¾Y:¶á3öáËóëD′èëμÄÖ¸¶¨êy¾Y2»Ïàoõ
                {                                  
                BKP_DeInit();        //¸′λ±¸·YÇøóò        
                RCC_LSEConfig(RCC_LSE_ON);        //éèÖÃía2¿μíËù¾§Õñ(LSE),ê1óÃíaéèμíËù¾§Õñ
                while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET&&temp<250)        //&#188;ì2é&#214;&#184;&#182;¨μ&#196;RCC±ê&#214;&#190;&#206;&#187;éè&#214;&#195;ó&#235;·&#241;,μè′yμí&#203;ù&#190;§&#213;&#241;&#190;íD÷
                        {
                        temp++;
                        delay_ms(10);
                        }
                if(temp>=250)return 1;//3&#245;ê&#188;&#187;ˉê±&#214;óê§°ü,&#190;§&#213;&#241;óD&#206;êìa            
                RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);                //éè&#214;&#195;RTCê±&#214;ó(RTCCLK),&#209;&#161;&#212;&#241;LSE×÷&#206;aRTCê±&#214;ó   
                RCC_RTCCLKCmd(ENABLE);        //ê1&#196;üRTCê±&#214;ó  
                RTC_WaitForLastTask();        //μè′y×&#238;&#189;üò&#187;′&#206;&#182;&#212;RTC&#188;&#196;′&#230;&#198;÷μ&#196;D′2ù×÷íê3é
                RTC_WaitForSynchro();                //μè′yRTC&#188;&#196;′&#230;&#198;÷í&#172;2&#189;  
                RTC_ITConfig(RTC_IT_SEC, ENABLE);                //ê1&#196;üRTC&#195;&#235;&#214;D&#182;&#207;
                RTC_WaitForLastTask();        //μè′y×&#238;&#189;üò&#187;′&#206;&#182;&#212;RTC&#188;&#196;′&#230;&#198;÷μ&#196;D′2ù×÷íê3é
                RTC_EnterConfigMode();/// &#212;êDí&#197;&#228;&#214;&#195;       
                RTC_SetPrescaler(32767); //éè&#214;&#195;RTC&#212;¤·&#214;&#198;μμ&#196;&#214;μ
                RTC_WaitForLastTask();        //μè′y×&#238;&#189;üò&#187;′&#206;&#182;&#212;RTC&#188;&#196;′&#230;&#198;÷μ&#196;D′2ù×÷íê3é
                RTC_Set(2015,1,14,17,42,55);  //éè&#214;&#195;ê±&#188;&#228;       
                RTC_ExitConfigMode(); //í&#203;3&#246;&#197;&#228;&#214;&#195;&#196;£ê&#189;  
                BKP_WriteBackupRegister(BKP_DR1, 0X5050);        //&#207;ò&#214;&#184;&#182;¨μ&#196;oó±&#184;&#188;&#196;′&#230;&#198;÷&#214;DD′è&#235;ó&#195;&#187;§3ìDòêy&#190;Y
                }
        else//&#207;μí3&#188;ìD&#248;&#188;&#198;ê±
                {

                RTC_WaitForSynchro();        //μè′y×&#238;&#189;üò&#187;′&#206;&#182;&#212;RTC&#188;&#196;′&#230;&#198;÷μ&#196;D′2ù×÷íê3é
                RTC_ITConfig(RTC_IT_SEC, ENABLE);        //ê1&#196;üRTC&#195;&#235;&#214;D&#182;&#207;
                RTC_WaitForLastTask();        //μè′y×&#238;&#189;üò&#187;′&#206;&#182;&#212;RTC&#188;&#196;′&#230;&#198;÷μ&#196;D′2ù×÷íê3é
                }
        RTC_NVIC_Config();//RCT&#214;D&#182;&#207;·&#214;×ééè&#214;&#195;                                                         
        RTC_Get();//&#184;üD&#194;ê±&#188;&#228;       
        return 0; //ok

}                                                     
//RTCê±&#214;ó&#214;D&#182;&#207;
//&#195;&#191;&#195;&#235;′¥·¢ò&#187;′&#206;  
//extern u16 tcnt;
void RTC_IRQHandler(void)
{                 
        if (RTC_GetITStatus(RTC_IT_SEC) != RESET)//&#195;&#235;&#214;ó&#214;D&#182;&#207;
        {                                                       
                RTC_Get();//&#184;üD&#194;ê±&#188;&#228;   
        }
        if(RTC_GetITStatus(RTC_IT_ALR)!= RESET)//&#196;&#214;&#214;ó&#214;D&#182;&#207;
        {
                RTC_ClearITPendingBit(RTC_IT_ALR);                //&#199;&#229;&#196;&#214;&#214;ó&#214;D&#182;&#207;                 
          RTC_Get();                                //&#184;üD&#194;ê±&#188;&#228;   
          printf("Alarm Time:%d-%d-%d %d:%d:%d\n",calendar.w_year,calendar.w_month,calendar.w_date,calendar.hour,calendar.min,calendar.sec);//ê&#228;3&#246;&#196;&#214;á&#229;ê±&#188;&#228;       
               
          }                                                                                                    
        RTC_ClearITPendingBit(RTC_IT_SEC|RTC_IT_OW);                //&#199;&#229;&#196;&#214;&#214;ó&#214;D&#182;&#207;
        RTC_WaitForLastTask();                                                                                           
}

最佳答案

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

我的问题解决了, 我的是 stm32f10x_conf.h 这个文件里面屏蔽了#include "stm32f10x_bkp.h和#include "stm32f10x_rtc.h,
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2019-3-19
在线时间
16 小时
发表于 2019-2-19 12:11:23 | 显示全部楼层
我的问题解决了, 我的是   stm32f10x_conf.h  这个文件里面屏蔽了#include "stm32f10x_bkp.h和#include "stm32f10x_rtc.h,
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2019-2-19
在线时间
0 小时
 楼主| 发表于 2019-2-19 12:12:12 | 显示全部楼层
就上面这部分代码一直显示有错误,不知道是哪里的问题
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2019-3-19
在线时间
16 小时
发表于 2019-4-9 12:13:02 | 显示全部楼层
楼主解决了吗?我也是这样,想要显示实时时钟,添加了rtc后也一直显示6个错误,新人真心不懂
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 21:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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