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

📄 main.c

📁 ARM9 str912库源代码 所有的外设驱动
💻 C
字号:
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
* File Name          : main.c
* Author             : MCD application team
* Date First Issued  : 05/18/2006 : Version 1.0
* Description        : RTC example
********************************************************************************
* History:
* 05/22/2007 : Version 1.2
* 05/24/2006 : Version 1.1
* 05/18/2006 : Version 1.0
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include <91x_lib.h>

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
 RTC_TIME time;
 RTC_DATE date;
 RTC_ALARM alarm;
 GPIO_InitTypeDef     GPIO_Struct;
 vu32 i;
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/




 void main (void)
 {
  #ifdef DEBUG
  debug();
  #endif
  
  SCU_MCLKSourceConfig(SCU_MCLK_OSC);    /*Use OSC as the default clock source*/
  SCU_PCLKDivisorConfig(SCU_PCLK_Div1); /* ARM Peripheral bus clokdivisor = 1*/
  
  
  SCU_APBPeriphClockConfig(__RTC,ENABLE); /*enable RTC clock*/
  SCU_APBPeriphReset(__RTC,DISABLE);      /*RTC out of RESET state*/

 /*config GPIO pin P9.2 for software togling*/
  SCU_APBPeriphClockConfig(__GPIO9,ENABLE);
  SCU_APBPeriphReset(__GPIO9,DISABLE);
  GPIO_Struct.GPIO_Pin= GPIO_Pin_2;
  GPIO_Struct.GPIO_Direction=GPIO_PinOutput;
  GPIO_Struct.GPIO_Type=GPIO_Type_PushPull;
  GPIO_Init(GPIO9,&GPIO_Struct);


  /*configure date & time structures */
  date.day = 7 ;                          /* set day */
  date.weekday = 3;                       /* set weekday */
  date.month = 3;                         /* set month */
  date.year = 6;                          /* set year */
  date.century = 20;                      /* set century */
  time.hours = 19;                        /* set hours */
  time.minutes = 0;                       /* set minutes */
  time.seconds = 0;                       /* set seconds */
  time.milliseconds = 0;                  /* set milliseconds */

  /*set time & date*/
  RTC_SetDate(date);                      /* set date in RTC */
  RTC_SetTime(time);                      /* set time in RTC registers */

  alarm.day = 7;                          /* set alarm day */
  alarm.hours = 19;                       /* set alarm hours */
  alarm.minutes = 0;                      /* set alarm minutes */
  alarm.seconds = 10;                     /* set alarm seconds */

  /*set alarm*/
  RTC_SetAlarm(alarm);

  RTC_ClearFlag(RTC_FLAG_Alarm);          /* clear alarm flag*/
  RTC_AlarmCmd(ENABLE);                   /* enable alarm */
  while (!RTC_GetFlagStatus(RTC_FLAG_Alarm)); /* do polling or RTC alarm flag*/
  RTC_GetTime(BCD,&time);                 /*time structure must be equal to alarm time*/

  while(1)
  {
    for(i=0;i<10000;i++);
    GPIO_WriteBit(GPIO9, GPIO_Pin_2, Bit_SET);
    for(i=0;i<10000;i++);
    GPIO_WriteBit(GPIO9, GPIO_Pin_2, Bit_RESET);
  }

}



 /******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/

⌨️ 快捷键说明

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