找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6414|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

為什么我的STM32 RTC實(shí)時(shí)時(shí)鐘秒中斷進(jìn)去不了

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:283688 發(fā)表于 2018-3-28 11:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我在用keil一步步仿真的時(shí)候進(jìn)入不了中斷函數(shù)
  1. void RTC_NVIC_Config()         
  2. {
  3.         NVIC_InitTypeDef NVIC_InitStructure;         

  4.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  5.         NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQn;            
  6.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  
  7.         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;         
  8.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;         
  9.         NVIC_Init(&NVIC_InitStructure);
  10. }

  11. /*******************************************************************************

  12. *******************************************************************************/
  13. void rtc_init()
  14. {
  15.    
  16.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
  17.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP,ENABLE);
  18.   RTC_NVIC_Config();
  19.       
  20.         PWR_BackupAccessCmd(ENABLE);
  21.         BKP_DeInit();
  22.         RCC_LSEConfig(RCC_LSE_ON);
  23.         while(RCC_GetFlagStatus(RCC_FLAG_LSERDY)==RESET);
  24.         RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
  25.         RCC_RTCCLKCmd(ENABLE);
  26.         RTC_WaitForSynchro();
  27.         RTC_WaitForLastTask();
  28.         RTC_ITConfig(RTC_IT_SEC,ENABLE);
  29.         RTC_WaitForLastTask();
  30.         RTC_SetPrescaler(32767);
  31.         RTC_WaitForLastTask();
  32.                
  33. }

  34. void clockinit_RTC()
  35. {
  36.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP|RCC_APB1Periph_PWR,ENABLE);
  37.         PWR_BackupAccessCmd(ENABLE);
  38.         if(BKP_ReadBackupRegister(BKP_DR1)!=0XA0A0)
  39.         {
  40.                
  41.                
  42.                 rtc_init();
  43.                 RTC_WaitForLastTask();
  44.                 RTC_SetCounter(0x9f92);
  45.                 RTC_WaitForLastTask();
  46.                 BKP_WriteBackupRegister(BKP_DR1,0xA0A0);
  47.         }
  48.         else
  49.         {      
  50.                
  51.                 RTC_WaitForSynchro();
  52.                 RTC_WaitForLastTask();
  53.           RTC_ITConfig(RTC_IT_SEC,ENABLE);
  54.                 RTC_WaitForLastTask();
  55.         }
  56.       
  57.         RCC_ClearFlag();
  58. }
  59. void RTC_IRQHandler()        
  60. {
  61.         if(RTC_GetITStatus((RTC_IT_SEC))!=RESET)
  62.         {
  63.                 RTC_ClearITPendingBit(RTC_IT_SEC);
  64.                 timebz=1;      
  65.         }
  66. }
  67. int main()
  68. {      
  69.         u16 hour=0,min=0,sec=0;
  70.         u32 timedata=0;
  71.            
  72.          
  73.         printf_init();         
  74.         clockinit_RTC();
  75.         while(1)
  76.         {
  77.    
  78.                 if(timebz==1)           
  79.                 {
  80.                         timebz=0;         
  81.                         timedata=RTC_GetCounter();
  82.                         hour=timedata/3600;                  
  83.                         min=(timedata%3600)/60;
  84.                         sec=timedata%60;
  85.                         printf("RTC time is: %0.2d:%0.2d:%0.2d\r\n",hour,min,sec);
  86.                 }               
  87.         }                       
  88. }
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:469589 發(fā)表于 2021-10-28 09:46 | 只看該作者
同問(wèn)。硬件為STM32F303
我用到時(shí)STM32-CUBE,不支持函數(shù):
RTC_ITConfig(RTC_IT_SEC,ENABLE);
找不到對(duì)應(yīng)的函數(shù)或設(shè)置方法。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表