shanji 发表于 2013-12-20 22:01:07

关于STM32RTC闹钟时间设置

捣鼓了几天STM32103RB的RTC,最终还是没把闹钟调出来,因为不知道怎么设置闹钟时间,头都大了,望各位大侠帮帮小弟,指点指点:lol

发表于 2013-12-21 10:22:36

RE:关于STM32RTC闹钟时间设置

闹钟是下个RTC产生的时候,比如当前RTC的值为20,那么闹钟的设置必须大于20,小于20的话就需要很久才能实现,RTC是32位的数据。

shanji 发表于 2013-12-21 19:28:37

回复:关于STM32RTC闹钟时间设置

回复第 2 楼 于2013-12-21 10:22:36发表:
闹钟是下个RTC产生的时候,比如当前RTC的值为20,那么闹钟的设置必须大于20,小于20的话就需要很久才能实现,RTC是32位的数据。
 

我是不知道RTC_SetAlarm(0xFFFFFFFA);//设置报警值为0XFFFFFFFA,这到底是什么时间

dzc2001 发表于 2013-12-24 19:11:17

RE:关于STM32RTC闹钟时间设置

固件库里面有RTC的示例代码

勒布朗 发表于 2013-12-24 20:37:41

RE:关于STM32RTC闹钟时间设置

预先设置一个时间,读取当前时间,和预设值时间比较,相同则闹铃

Hiker 发表于 2013-12-25 00:10:17

RE:关于STM32RTC闹钟时间设置

make

fengye5340 发表于 2013-12-25 09:00:05

回复:关于STM32RTC闹钟时间设置

void RTC_TimeRegulate(void)
{
      int tmp_hh = 0x01, tmp_mm = 0x01, tmp_ss = 0x01;
     
      RTC_DateStructure.RTC_WeekDay = 0x05;
      RTC_DateStructure.RTC_Date = 0x06;
      RTC_DateStructure.RTC_Month = 0x0C; //12
      RTC_DateStructure.RTC_Year = 0x0D;  //13
      if(RTC_SetDate(RTC_Format_BIN, &RTC_DateStructure)!=ERROR)
              RTC_WriteBackupRegister(RTC_BKP_DR0,0x32F2);
      //配置时间
      tmp_hh = 15;
      tmp_mm = 44;
      tmp_ss = 03;
      RTC_TimeStructure.RTC_H12= RTC_H12_AM;       
       RTC_TimeStructure.RTC_Hours = tmp_hh;
    RTC_TimeStructure.RTC_Minutes = tmp_mm;
    RTC_TimeStructure.RTC_Seconds = tmp_ss;   
      if(RTC_SetTime(RTC_Format_BIN, &RTC_TimeStructure)!=ERROR)
          RTC_WriteBackupRegister(RTC_BKP_DR0,0x32F2);
      LCD_Clear(BLUE);
        //配置闹钟
      tmp_hh = 15;
      tmp_mm = 45;
      tmp_ss = 00;
      RTC_AlarmCmd(RTC_Alarm_A, DISABLE);
      RTC_AlarmStructure.RTC_AlarmTime.RTC_H12 = RTC_H12_PM;
      RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours = tmp_hh ;
    RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = tmp_mm;
    RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = tmp_ss;
      RTC_AlarmStructure.RTC_AlarmDateWeekDay = 6;
      RTC_AlarmStructure.RTC_AlarmDateWeekDaySel = RTC_AlarmDateWeekDaySel_Date;
      RTC_AlarmStructure.RTC_AlarmMask = RTC_AlarmMask_DateWeekDay;
      RTC_SetAlarm(RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure);//配置RTC闹钟寄存器
      RTC_ITConfig(RTC_IT_ALRA, ENABLE);//使能闹钟A的中断
      RTC_AlarmCmd(RTC_Alarm_A, ENABLE);//使能闹钟A
      LCD_Clear(BLUE);
}
给你发个参考程序看看,下面是闹钟的配置,时间上要比你设定的RTC时间多一些。
 

温柔的武士刀 发表于 2013-12-25 10:01:55

RE:关于STM32RTC闹钟时间设置

http://wxphp.com/wxd-d8a21e755acfa1c7aa00ccf2-1.html
STM32 RTC 配置解说(原创) 楼主看看这份资料

发表于 2013-12-25 15:34:20

RE:关于STM32RTC闹钟时间设置

RTC_SetAlarm(0xFFFFFFFA);
下个闹钟的时间=(0xFFFFFFFA-当前RTC的值)秒以后执行.

有缘于你 发表于 2013-12-25 18:48:32

RE:关于STM32RTC闹钟时间设置

RTC 的值等于0xFFFFFFFA时执行
页: [1] 2
查看完整版本: 关于STM32RTC闹钟时间设置