⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtc.c

📁 stm32初级例程
💻 C
字号:

/**************************************************************
**  精英STM32开发板
**  版本:V1.0
**  功能:	该例子用RTC产生1秒中断,驱动LED闪烁
			STM32的RTC实际是一个32位的计数器,要得到时分秒信号需要自己转换

***************************************************************/

#include <stm32f10x_lib.h>                        // STM32F10x Library Definitions
#include "STM32_Init.h"                           // STM32 Initialization


unsigned int ledPosSec = 0;                     // led position for second
unsigned int ledPosAlarm = 2;                     // led position for Alarm
unsigned int ledRtcSec = 0;


#define  LED_OFF 	GPIOC->ODR|=0x00000007
#define  LED_ON 	GPIOC->ODR&=(~0x00000007)
/*------------------------------------------------------------------------------
  RTC Interrupt Handler
  RTC中断函数
 *------------------------------------------------------------------------------*/
void RTC_IRQHandler(void)
{
   if (RTC->CRL & (1 << 0))
   {
      // check second flag/检查是否是秒中断
      RTC->CRL &= ~(1 << 0);
      if ((ledRtcSec ^= 1) == 0)
         LED_OFF;//LED off LED熄灭
      else
         LED_ON;//LED on LED点亮 

   }
} // end RTC_IRQHandler


/*----------------------------------------------------------------------------
  MAIN function
 *----------------------------------------------------------------------------*/
int main(void)
{
   // STM32 setup
   //STM32初始化
   stm32_Init();

   while (1)
   {
      // Loop forever
       ;} // end while
} // end main

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -