推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

STM32F103开发板 GPIO 定时器 看门狗 串口等基础实验程序 软件源码

更新时间:2020-06-19 07:14:25 大小:38M 上传用户:xzxbybd查看TA发布的资源 标签:stm32f103开发板gpio定时器 下载积分:5分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

STM32F103开发板 GPIO 定时器 看门狗 串口等基础实验程序 软件源码

include "rtc.h"

#include "stm32f10x.h"


volatile u8 LED_TAG=0;   //定义LED切换标签,用于控制PB0


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

 * 描  述 : 初始化RTC并配置RTC中断优先级

 * 入  参 : 无

 * 返回值 : 无

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

void RTC_Configuration_Init(void)

{

NVIC_InitTypeDef NVIC_InitStructure;

/* Enable the PWR/BKP Clock */

RCC_APB1PeriphClockCmd( RCC_APB1Periph_PWR | RCC_APB1Periph_BKP , ENABLE);  

  PWR_BackupAccessCmd(ENABLE);   //使能RTC和后备寄存器访问

BKP_DeInit();      //将外设BKP的全部寄存器重设为缺省值

RCC_LSEConfig(RCC_LSE_ON);    //开启LSE

while(RCC_GetFlagStatus(RCC_FLAG_LSERDY)==RESET);  //等待LSE起振

RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);   //选择LSE为RTC时钟源

RCC_RTCCLKCmd(ENABLE);      //使能RTC时钟

RTC_WaitForSynchro();       //等待RTC寄存器同步完成

RTC_WaitForLastTask();      //等待最近一次对RTC寄存器的写操作完成

RTC_ITConfig(RTC_IT_SEC,ENABLE);   //使能RTC秒中断

RTC_WaitForLastTask();      //等待最近一次对RTC寄存器的写操作完成

RTC_SetPrescaler(32767);    //设置RTC时钟分频值为32767

RTC_WaitForLastTask();       //等待最近一次对RTC寄存器的写操作完成

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);    //NVIC_Group:先占优先级2位,从优先级2位  

  NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQn;   //配置为RTC中断

  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;  //先占优先级为1

  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;   //从优先级为2

  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;      //使能中断通道

  NVIC_Init(&NVIC_InitStructure); 

}



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

 * 描  述 : LED2交替闪烁

 * 入  参 : 无

 * 返回值 : 无

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

void LED_Blink(void)

{

if(LED_TAG)

{

  GPIO_ResetBits(GPIOB , GPIO_Pin_9);  //LED2点亮

LED_TAG=0;

}

else

{

  GPIO_SetBits(GPIOB , GPIO_Pin_9);    //LED2熄灭

LED_TAG=1;

}

}



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

 * 描  述 : RTC全局中断服务

 * 入  参 : 无

 * 返回值 : 无

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

void RTC_IRQHandler(void)

{

  if(RTC_GetITStatus(RTC_IT_SEC)!=RESET)        //检查指定的RTC中断发生与否(秒中断)

{

LED_Blink();                                //1s执行一次该函数

  RTC_ClearITPendingBit(RTC_IT_SEC);          //清除RTC的中断待处理位(秒中断)

}

}


部分文件列表

文件名大小
STM32F103开发板 基础实验程序/
STM32F103开发板 基础实验程序/实验1 - GPIO驱动LED/
STM32F103开发板 基础实验程序/实验1 - GPIO驱动LED/GPIO_LED/
STM32F103开发板 基础实验程序/实验1 - GPIO驱动LED/GPIO_LED/Libraries/
STM32F103开发板 基础实验程序/实验1 - GPIO驱动LED/GPIO_LED/Libraries/CMSIS/
STM32F103开发板 基础实验程序/实验1 - GPIO驱动LED/GPIO_LED/Libraries/CMSIS/CM3/
STM32F103开发板 基础实验程序/实验1 - GPIO驱动LED/GPIO_LED/Libraries/CMSIS/CM3/CoreSupport/
STM32F103开发板 基础实验程序/实验1 - GPIO驱动LED/GPIO_LED/Libraries/CMSIS/CM3/CoreSupport/core_cm3.c
STM32F103开发板 基础实验程序/实验1 - GPIO驱动LED/GPIO_LED/Libraries/CMSIS/CM3/CoreSupport/core_cm3.h
STM32F103开发板 基础实验程序/实验1 - GPIO驱动LED/GPIO_LED/Libraries/CMSIS/CM3/DeviceSupport/
STM32F103开发板 基础实验程序/实验1 - GPIO驱动LED/GPIO_LED/Libraries/CMSIS/CM3/DeviceSupport/ST/
...

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载