你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
关于STM32RTC闹钟时间设置
[复制链接]
shanji
提问时间:2013-12-20 22:01 /
捣鼓了几天STM32103RB的RTC,最终还是没把闹钟调出来,因为不知道怎么设置闹钟时间,头都大了,望各位大侠帮帮小弟,指点指点
赞
0
收藏
0
评论
13
分享
发布时间:2013-12-20 22:01
举报
请先
登录
后回复
13个回答
废鱼
回答时间:2013-12-21 10:22:36
a0a.1 0b0c
RE:关于STM32RTC闹钟时间设置
闹钟是下个RTC产生的时候,比如当前RTC的值为20,那么闹钟的设置必须大于20,小于20的话就需要很久才能实现,RTC是32位的数据。
赞
0
评论
回复
支持
反对
shanji
回答时间:2013-12-21 19:28:37
a0a.1 0b0c
回复:关于STM32RTC闹钟时间设置
回复第 2 楼 于2013-12-21 10:22:36发表:
闹钟是下个RTC产生的时候,比如当前RTC的值为20,那么闹钟的设置必须大于20,小于20的话就需要很久才能实现,RTC是32位的数据。
我是不知道RTC_SetAlarm(0xFFFFFFFA);//设置报警值为0XFFFFFFFA,这到底是什么时间
赞
0
评论
回复
支持
反对
dzc2001
回答时间:2013-12-24 19:11:17
a0a.1 0b0c
RE:关于STM32RTC闹钟时间设置
固件库里面有RTC的示例代码
赞
0
评论
回复
支持
反对
勒布朗
回答时间:2013-12-24 20:37:41
a0a.1 0b0c
RE:关于STM32RTC闹钟时间设置
预先设置一个时间,读取当前时间,和预设值时间比较,相同则闹铃
赞
0
评论
回复
支持
反对
Hiker天下
回答时间:2013-12-25 00:10:17
a0a.1 0b0c
RE:关于STM32RTC闹钟时间设置
make
赞
0
评论
回复
支持
反对
fengye5340
回答时间:2013-12-25 09:00:05
a0a.1 0b0c
回复:关于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时间多一些。
赞
0
评论
回复
支持
反对
温柔的武士刀
回答时间:2013-12-25 10:01:55
a0a.1 0b0c
RE:关于STM32RTC闹钟时间设置
http://wxphp.com/wxd-d8a21e755acfa1c7aa00ccf2-1.html
STM32 RTC 配置解说(原创) 楼主看看这份资料
赞
0
评论
回复
支持
反对
废鱼
回答时间:2013-12-25 15:34:20
a0a.1 0b0c
RE:关于STM32RTC闹钟时间设置
RTC_SetAlarm(0xFFFFFFFA);
下个闹钟的时间=(0xFFFFFFFA-当前RTC的值)秒以后执行.
赞
0
评论
回复
支持
反对
有缘于你
回答时间:2013-12-25 18:48:32
a0a.1 0b0c
RE:关于STM32RTC闹钟时间设置
RTC 的值等于0xFFFFFFFA时执行
赞
0
评论
回复
支持
反对
shanji
回答时间:2014-4-14 17:06:01
a0a.1 0b0c
回复:关于STM32RTC闹钟时间设置
回复第 8 楼 于2013-12-25 10:01:55发表:
http://wxphp.com/wxd-d8a21e755acfa1c7aa00ccf2-1.html
STM32 RTC 配置解说(原创) 楼主看看这份资料万分感谢
赞
0
评论
回复
支持
反对
shanji
回答时间:2014-4-14 17:06:55
a0a.1 0b0c
回复:关于STM32RTC闹钟时间设置
回复第 4 楼 于2013-12-24 19:11:17发表:
固件库里面有RTC的示例代码
赞
0
评论
回复
支持
反对
shanji
回答时间:2014-4-14 17:08:20
a0a.1 0b0c
回复:关于STM32RTC闹钟时间设置
回复第 5 楼 于2013-12-24 20:37:41发表:
预先设置一个时间,读取当前时间,和预设值时间比较,相同则闹铃
赞
0
评论
回复
支持
反对
shanji
回答时间:2014-4-14 17:07:42
a0a.1 0b0c
回复:关于STM32RTC闹钟时间设置
回复第 7 楼 于2013-12-25 09:00:05发表:
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时间多一些。
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
RE:关于STM32RTC闹钟时间设置
回复:关于STM32RTC闹钟时间设置
闹钟是下个RTC产生的时候,比如当前RTC的值为20,那么闹钟的设置必须大于20,小于20的话就需要很久才能实现,RTC是32位的数据。
我是不知道RTC_SetAlarm(0xFFFFFFFA);//设置报警值为0XFFFFFFFA,这到底是什么时间
RE:关于STM32RTC闹钟时间设置
RE:关于STM32RTC闹钟时间设置
RE:关于STM32RTC闹钟时间设置
回复:关于STM32RTC闹钟时间设置
{
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时间多一些。
RE:关于STM32RTC闹钟时间设置
STM32 RTC 配置解说(原创) 楼主看看这份资料
RE:关于STM32RTC闹钟时间设置
下个闹钟的时间=(0xFFFFFFFA-当前RTC的值)秒以后执行.
RE:关于STM32RTC闹钟时间设置
回复:关于STM32RTC闹钟时间设置
http://wxphp.com/wxd-d8a21e755acfa1c7aa00ccf2-1.html
STM32 RTC 配置解说(原创) 楼主看看这份资料万分感谢
回复:关于STM32RTC闹钟时间设置
固件库里面有RTC的示例代码
回复:关于STM32RTC闹钟时间设置
预先设置一个时间,读取当前时间,和预设值时间比较,相同则闹铃
回复:关于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时间多一些。