完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
各位大牛,我又来叨扰各位了。最近在调试RTC。但是STM32的RTC有四个中断,我有点分不清。
原话是这样的: All RTC events(AlARM,wakeup,timesTamp or Tamper)can generate an interrupt and wakeup the device from the low-power modes. 我想产生一个秒中断,根据描述,应该是配置一个 TimesTamp的时间戳中断。于是找到了例程。 static void RTC_TimeStampConfig(void) { RTC_DateTypeDef sdatestructure; RTC_TimeTypeDef stimestructure; /*##-1- Configure the Time Stamp peripheral ################################*/ /* RTC TimeStamp generation: TimeStamp Rising Edge on PC.13 Pin */ HAL_RTCEx_SetTimeStamp_IT(&RtcHandle, RTC_TIMESTAMPEDGE_RISING, RTC_TIMESTAMPPIN_DEFAULT); /*##-2- Configure the Date #################################################*/ /* Set Date: Monday April 14th 2014 */ sdatestructure.Year = 0x14; sdatestructure.Month = RTC_MONTH_APRIL; sdatestructure.Date = 0x14; sdatestructure.WeekDay = RTC_WEEKDAY_MONDAY; if(HAL_RTC_SetDate(&RtcHandle,&sdatestructure,RTC_FORMAT_BCD) != HAL_OK) { /* Initialization Error */ Error_Handler(); } /*##-3- Configure the Time #################################################*/ /* Set Time: 08:10:00 */ stimestructure.Hours = 0x08; stimestructure.Minutes = 0x10; stimestructure.Seconds = 0x00; stimestructure.SubSeconds = 0x00; stimestructure.TimeFormat = RTC_HOURFORMAT12_AM; stimestructure.DayLightSaving = RTC_DAYLIGHTSAVING_NONE ; stimestructure.StoreOperation = RTC_STOREOPERATION_RESET; if(HAL_RTC_SetTime(&RtcHandle,&stimestructure,RTC_FORMAT_BCD) != HAL_OK) { /* Initialization Error */ Error_Handler(); } } 以上是例程给的代码。 -----------------------------------------------------------------------------------------------分割线-------------------------------------------------------------------------------------------------------------------------------- RTC_HandleTypeDef hrtc; /* RTC init function */ static void MX_RTC_Init(void) { RTC_DateTypeDef sdatestructure; RTC_TimeTypeDef stimestructure; HAL_RTCEx_SetTimeStamp_IT(&hrtc, RTC_TIMESTAMPEDGE_RISING, RTC_TIMESTAMPPIN_DEFAULT); sdatestructure.Year = 0x14; sdatestructure.Month = RTC_MONTH_APRIL; sdatestructure.Date = 0x14; sdatestructure.WeekDay = RTC_WEEKDAY_MONDAY; if(HAL_RTC_SetDate(&hrtc,&sdatestructure,RTC_FORMAT_BCD) != HAL_OK) { /* Initialization Error */ Error_Handler(); } stimestructure.Hours = 0x08; stimestructure.Minutes = 0x10; stimestructure.Seconds = 0x00; stimestructure.SubSeconds = 0x00; stimestructure.TimeFormat = RTC_HOURFORMAT12_AM; stimestructure.DayLightSaving = RTC_DAYLIGHTSAVING_NONE ; stimestructure.StoreOperation = RTC_STOREOPERATION_RESET; /**Initialize RTC Only */ if(HAL_RTC_SetTime(&hrtc,&stimestructure,RTC_FORMAT_BCD) != HAL_OK) { /* Initialization Error */ Error_Handler(); } hrtc.Instance = RTC; hrtc.Init.HourFormat = RTC_HOURFORMAT_24; hrtc.Init.AsynchPrediv = 127; hrtc.Init.SynchPrediv = 255; hrtc.Init.OutPut = RTC_OUTPUT_DISABLE; hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE; hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; if (HAL_RTC_Init(&hrtc) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } //TAMP_STAMP_IRQHandler HAL_NVIC_SetPriority(TAMP_STAMP_IRQn, 0, 0); NVIC_EnableIRQ(TAMP_STAMP_IRQn); } 我结合cubemx生成的代码,添加在我的工程,但是rtc的中断进不去。 -----------------------------------------------------------------------------------------------------------分割线---------------------------------------------------------------------------------------------------------------------- void TAMP_STAMP_IRQHandler(void) { HAL_RTCEx_TamperTimeStampIRQHandler(&RtcHandle); } 用的都是hal库,现在有点迷茫,倒是哪里出了问题。 还有就是,是不是cubemx生成的工程,中断都要自己配置?不然都是进不去的 HAL_NVIC_SetPriority(TAMP_STAMP_IRQn, 0, 0); NVIC_EnableIRQ(TAMP_STAMP_IRQn); 类似这样的中断配置语句。 |
|
相关推荐
5个回答
|
|
|
这个我解决了,,用的wakeup中断。。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
大佬你好,秒中断是否需要PC13
|
|
|
|
|
|
你***PC13吗?
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1021浏览 1评论
1850浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1360浏览 1评论
1852浏览 0评论
1178浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 03:22 , Processed in 1.111908 second(s), Total 73, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1296