📄 rtc.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 + -