你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 8517|回复: 6

需要stm32f207--RTC的ALARM中断代码

[复制链接]

6

主题

14

回帖

0

蝴蝶豆

新手上路

最后登录
2020-12-7
发表于 2012-2-23 08:56:12 | 显示全部楼层 |阅读模式
需要stm32f207--RTC的ALARM中断代码,哪个好心人有,发给我啊,谢谢了!
<
回复

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2012-2-23 11:26:17 | 显示全部楼层

RE:需要stm32f207--RTC的ALARM中断代码

这个和RTC中断类似,只是在RTC中断里面判断的时候,加个判断alarm的功能。在设置的时候把RTC_IT_ALR这个也开启就可以了。
回复 支持 反对

使用道具 举报

6

主题

14

回帖

0

蝴蝶豆

新手上路

最后登录
2020-12-7
 楼主| 发表于 2012-2-23 14:44:03 | 显示全部楼层

回复:需要stm32f207--RTC的ALARM中断代码

回复第 2 楼 于2012-02-23 03:26:17发表:
这个和RTC中断类似,只是在RTC中断里面判断的时候,加个判断alarm的功能。在设置的时候把RTC_IT_ALR这个也开启就可以了。 

你好!
首先谢谢你的回复
我是在中断处理函数里那么做的
但是我怀疑是我在配置函数和一些处理函数时,没有配置好,因为程序没有往中断里跳转。
望能提供解决方法,谢谢!
回复 支持 反对

使用道具 举报

6

主题

14

回帖

0

蝴蝶豆

新手上路

最后登录
2020-12-7
 楼主| 发表于 2012-2-23 14:53:49 | 显示全部楼层

RE:需要stm32f207--RTC的ALARM中断代码

代码如下:
void wuRtc_Gpio_Init(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14|GPIO_Pin_15;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
        //GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
        //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
        //GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_Init(GPIOC, &amp;GPIO_InitStructure);
}
void wuRtc_Nvic_Configuration(void)
{
          NVIC_InitTypeDef NVIC_InitStructure;
          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
          NVIC_InitStructure.NVIC_IRQChannel = RTC_Alarm_IRQn;
          NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
          NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
          NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
          NVIC_Init(&amp;NVIC_InitStructure);
}
void RtcIntruptInit(void)
{
    RTC_AlarmTypeDef RTC_AlarmStructure;
//        RTC_AlarmTypeDef RTC_AlarmStruct;
        RTC_AlarmCmd(RTC_Alarm_A, DISABLE);
        RTC_AlarmCmd(RTC_Alarm_B, DISABLE);
//        RTC_AlarmStructInit(&amp;RTC_AlarmStruct);
        RTC_AlarmStructure.RTC_AlarmDateWeekDay = 1;
        RTC_AlarmStructure.RTC_AlarmDateWeekDaySel = RTC_AlarmDateWeekDaySel_Date;
        RTC_AlarmStructure.RTC_AlarmMask = RTC_AlarmMask_All;//RTC_AlarmMask_DateWeekDay|RTC_AlarmMask_Hours|RTC_AlarmMask_Minutes;
        RTC_AlarmStructure.RTC_AlarmTime.RTC_H12 = 0;
        RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours = 0;
        RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = 0;
        RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = 0x01;
        RTC_SetAlarm(RTC_Format_BCD, RTC_Alarm_A, &amp;RTC_AlarmStructure);
        RTC_SetAlarm(RTC_Format_BCD, RTC_Alarm_B, &amp;RTC_AlarmStructure);
        RTC_WaitForSynchro();
        RTC_AlarmCmd(RTC_Alarm_A, ENABLE);
        RTC_AlarmCmd(RTC_Alarm_B, ENABLE);
}
void wuRtc_Configuration(void)
{
        RTC_InitTypeDef RTC_InitStructure;
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
        PWR_BackupAccessCmd(ENABLE);
        wuRtc_Gpio_Init();          //osc32初始化
        /* 将外设BKP的全部寄存器重设为缺省值 */
        //RCC_BackupResetCmd(ENABLE);
        //RCC_BackupResetCmd(DISABLE);
        /* 使能LSE(外部32.768KHz低速晶振)*/
        RCC_LSEConfig(RCC_LSE_ON);
        /* 等待外部晶振震荡稳定输出 */
        while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET){}
        /*使用外部32.768KHz晶振作为RTC时钟 */
        RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
        RTC_WaitForSynchro();
        /* 使能 RTC 的时钟供给 */
        RCC_RTCCLKCmd(ENABLE);
        RTC_WaitForSynchro();
        //RTC_DeInit();
        RTC_InitStructure.RTC_AsynchPrediv = 0x7F;
        RTC_InitStructure.RTC_SynchPrediv = 0xFF;
        RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24;
        RTC_Init(&amp;RTC_InitStructure);
        RTC_WaitForSynchro();
        Set10Sinit();
        wvRtcDateTimeSet();
        RTC_WaitForSynchro();
//        wuExtiLineCfg();/////////////////////////////..........TEST.....................////////////////////////
        wuRtc_Nvic_Configuration();
        RtcIntruptInit();
        RTC_WaitForSynchro();
        RTC_ITConfig(RTC_IT_ALRA, ENABLE);
        RTC_ITConfig(RTC_IT_ALRB, ENABLE);
        RTC_WaitForSynchro();       
        /* 使能 RTC 的时钟供给 */
        //RCC_RTCCLKCmd(ENABLE);
       
       
}
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2012-2-23 14:55:31 | 显示全部楼层

回复:需要stm32f207--RTC的ALARM中断代码

我这没有F2,只能你自己试了,这个是官方例程,你参考一下main里面的配置,没有工程,只有源码。

HW_Calendar.rar

下载

15.59 KB, 下载次数: 81

回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2012-2-23 16:44:06 | 显示全部楼层

RE:需要stm32f207--RTC的ALARM中断代码

wuRtc_Gpio_Init(); //osc32初始化
你配置IO口干什么?如果你选用的是32.768的晶振,IO口不用配置。你把这个屏蔽了试试。
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-3-13 20:57:25 | 显示全部楼层

回复:需要stm32f207--RTC的ALARM中断代码

在那下呢
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版