326 lines
14 KiB
C++
326 lines
14 KiB
C++
|
/********************************************************/
|
|||
|
// CPU<50><55>Ҫ<EFBFBD><D2AA>STM32F103--RAM<41>ڴ治С<E6B2BB><D0A1>64K Flash<73>ڴ治С<E6B2BB><D0A1>128K
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>STM32F103RDT6<54><36>VET6<54><36><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
// <20>༭<EFBFBD><E0BCAD><EFBFBD>ڣ<EFBFBD>20150909
|
|||
|
// editor by СС<D0A1><D0A1>
|
|||
|
// <20><><EFBFBD>꣺shop182385147.taobao.com
|
|||
|
/********************************************************
|
|||
|
PLC<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ר<EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
M8126 ȫ<EFBFBD>ֱ<EFBFBD>־
|
|||
|
M8127 ͨѶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
M8128 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
M8129 ͨѶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>
|
|||
|
|
|||
|
ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼĴ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D8000 = 200; ɨ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
|
|||
|
D8001 = 0X5EF6; <EFBFBD>ͺŰ汾 FX2N(C)
|
|||
|
D8101 = 0X5EF6; <EFBFBD>ͺŰ汾 FX2N(C)
|
|||
|
D8002 = 8; <EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D8102 = 8; <EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D8003 = 0x0010; <EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D8006 CPU<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ѹ
|
|||
|
D8010 = 10; ɨ<EFBFBD>赱ǰֵ
|
|||
|
D8011 = 20; ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сʱ<EFBFBD><EFBFBD>(0.1MS)
|
|||
|
D8012 = 140; ɨ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>(0.1MS)
|
|||
|
D6030 D6031 D6032 D6034 <EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D7030 D7031 <EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
D8120 = 0X4096 ͨѶ<EFBFBD><EFBFBD>ʽ
|
|||
|
D8121 <EFBFBD><EFBFBD>վ<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D8127 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD>ַ
|
|||
|
D8128 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D8129 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨѶ<EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>ֵ
|
|||
|
D8000 <EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD>
|
|||
|
D8019 <EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D8018 <EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D8017 <EFBFBD><EFBFBD>Ӧ<EFBFBD>·<EFBFBD>
|
|||
|
D8016 <EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D8015 <EFBFBD><EFBFBD>ӦСʱ
|
|||
|
D8014 <EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
D8013 <EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>
|
|||
|
ͨѶ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>⣨D8120<EFBFBD><EFBFBD>
|
|||
|
----------------------------------------------------------------------
|
|||
|
λ<EFBFBD><EFBFBD> | <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> | <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
-----------+-------------+--------------------------------------------
|
|||
|
b0 | <EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD> | 0<EFBFBD><EFBFBD> 7λ 1<EFBFBD><EFBFBD> 8λ
|
|||
|
-----------+-------------+--------------------------------------------
|
|||
|
b2b1 | У<EFBFBD>鷽ʽ | 00<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 01<EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD> 11<EFBFBD><EFBFBD>żУ<EFBFBD><EFBFBD>
|
|||
|
-----------+-------------+--------------------------------------------
|
|||
|
b3 | ֹͣλ | 0<EFBFBD><EFBFBD> 1λ 1<EFBFBD><EFBFBD> 2λ
|
|||
|
-----------+-------------+--------------------------------------------
|
|||
|
| | 0001<EFBFBD><EFBFBD>300 0111<EFBFBD><EFBFBD>4800
|
|||
|
b7b6b5b4 | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 0100<EFBFBD><EFBFBD>600 1000<EFBFBD><EFBFBD>9600
|
|||
|
| | 0101<EFBFBD><EFBFBD>1200 1001<EFBFBD><EFBFBD>19200
|
|||
|
| | 0110<EFBFBD><EFBFBD>2400
|
|||
|
-----------+-------------+--------------------------------------------
|
|||
|
b8 | | 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>ͨѶר<EFBFBD><EFBFBD>
|
|||
|
-----------+-------------+--------------------------------------------
|
|||
|
b9 | | 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ͬ<EFBFBD><EFBFBD>
|
|||
|
-----------+-------------+--------------------------------------------
|
|||
|
b12b11b10 | ͨѶ<EFBFBD>ӿ<EFBFBD> | 000<EFBFBD><EFBFBD>RS485<EFBFBD><EFBFBD>RS422<EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
| | 010<EFBFBD><EFBFBD> RS232C<EFBFBD>ӿ<EFBFBD>
|
|||
|
-----------+-------------+--------------------------------------------
|
|||
|
b13 | <EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD> | 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
-----------+-------------+-------------------------------------------
|
|||
|
b14 | Э<EFBFBD><EFBFBD> | 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>ͨѶ 1<EFBFBD><EFBFBD>ר<EFBFBD><EFBFBD>ͨѶЭ<EFBFBD><EFBFBD>
|
|||
|
-----------+-------------+--------------------------------------------
|
|||
|
b15 | Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ | 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ1 1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ4
|
|||
|
----------------------------------------------------------------------
|
|||
|
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D8120 = 0X4096 ͨѶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>19200
|
|||
|
|
|||
|
*********************************************************************************/
|
|||
|
#include <main.h>
|
|||
|
#include "stm32f10x_rtc.h"
|
|||
|
#include "PLC_Dialogue.h"
|
|||
|
#include "PLC_CONF.H"
|
|||
|
|
|||
|
/*STM32<33><32>RTCֻ<43><D6BB>һ<EFBFBD><D2BB>32λ<32>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>û<EFBFBD>мĴ<D0BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>
|
|||
|
*ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-0XFFFFFFFF<EFBFBD><EFBFBD><EFBFBD>ſ<EFBFBD><EFBFBD>Լ<EFBFBD>ʱ136<EFBFBD>ꡣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ0<EFBFBD><EFBFBD>
|
|||
|
*1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>ʹ<EFBFBD><EFBFBD>RTC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>STM32<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ֻ<EFBFBD>е<EFBFBD><EFBFBD>ع<EFBFBD><EFBFBD>磬<EFBFBD><EFBFBD>ʱRTC<EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>STM32<EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><EFBFBD>ж<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õġ<EFBFBD>
|
|||
|
*2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յȲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
//=======================================================================================================
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: u8 Is_Leap_Year(u16 year)
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꺯<EFBFBD><EABAAF>
|
|||
|
// <20>䡡<EFBFBD><E4A1A1>: <20><><EFBFBD><EFBFBD>
|
|||
|
// <20>䡡<EFBFBD><E4A1A1>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.1,<2C><>.0,<2C><><EFBFBD><EFBFBD>
|
|||
|
// ȫ<>ֱ<EFBFBD><D6B1><EFBFBD>:
|
|||
|
// <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>:
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: СС<D0A1><D0A1>
|
|||
|
// <20>ա<EFBFBD><D5A1><EFBFBD>: 2014<31><34>6<EFBFBD><36>5<EFBFBD><35>
|
|||
|
// <20><> ע: <20>·<EFBFBD> 1 2 3 4 5 6 7 8 9 10 11 12
|
|||
|
// <20><><EFBFBD><EFBFBD> 31 29 31 30 31 30 31 31 30 31 30 31 һ<><D2BB>366<36><36>=31622400<30><30><EFBFBD><EFBFBD>
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 31 28 31 30 31 30 31 31 30 31 30 31 һ<><D2BB>365<36><35>=31536000<30><30><EFBFBD><EFBFBD>
|
|||
|
//-------------------------------------------------------------------------------------------------------
|
|||
|
// <20><EFBFBD><DEB8><EFBFBD>:
|
|||
|
// <20>ա<EFBFBD><D5A1><EFBFBD>:
|
|||
|
// <20><> ע:
|
|||
|
//=======================================================================================================
|
|||
|
const u8 mon_table[12]={31,28,31,30,31,30,31,31,30,31,30,31};//ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ڱ<EFBFBD>
|
|||
|
u8 Is_Leap_Year(u16 year)
|
|||
|
{
|
|||
|
if(year%4==0) //<2F><><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if(year%100==0)
|
|||
|
{
|
|||
|
if(year%400==0)return 1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>00<30><30>β,<2C><>Ҫ<EFBFBD>ܱ<EFBFBD>400<30><30><EFBFBD><EFBFBD>
|
|||
|
else return 0;
|
|||
|
}else return 1;
|
|||
|
}else return 0;
|
|||
|
}
|
|||
|
//=======================================================================================================
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: u8 RTC_Set(u16 syear,u8 smon,u8 sday,u8 hour,u8 min,u8 sec)
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
// <20>䡡<EFBFBD><E4A1A1>: <20><>-<2D><>-<2D><>-ʱ-<2D><>-<2D><>
|
|||
|
// <20>䡡<EFBFBD><E4A1A1>: 0,<2C>ɹ<EFBFBD>;<3B><><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
// ȫ<>ֱ<EFBFBD><D6B1><EFBFBD>:
|
|||
|
// <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>:
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: СС<D0A1><D0A1>
|
|||
|
// <20>ա<EFBFBD><D5A1><EFBFBD>: 2014<31><34>6<EFBFBD><36>5<EFBFBD><35>
|
|||
|
// <20><> ע: <20><>2010<31><30>1<EFBFBD><31>1<EFBFBD><31>Ϊ<EFBFBD><CEAA> 2011~2136<33><36>Ϊ<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//-------------------------------------------------------------------------------------------------------
|
|||
|
// <20><EFBFBD><DEB8><EFBFBD>:
|
|||
|
// <20>ա<EFBFBD><D5A1><EFBFBD>:
|
|||
|
// <20><> ע:
|
|||
|
//=======================================================================================================
|
|||
|
u8 RTC_Set(u16 syear,u8 smon,u8 sday,u8 hour,u8 min,u8 sec)
|
|||
|
{
|
|||
|
u16 t;
|
|||
|
u32 seccount=0;
|
|||
|
if(syear<2016||syear>2136)return 1; //syear<61><72>Χ2016-2136<33><36><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD>÷<EFBFBD>ΧΪ2000-2136
|
|||
|
for(t=2016;t<syear;t++) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if(Is_Leap_Year(t))seccount+=31622400; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
else seccount+=31536000; //ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
smon-=1;
|
|||
|
for(t=0;t<smon;t++) //<2F><>ǰ<EFBFBD><C7B0><EFBFBD>·ݵ<C2B7><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
seccount+=(u32)mon_table[t]*86400; //<2F>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if(Is_Leap_Year(syear)&&t==1)seccount+=86400;//<2F><><EFBFBD><EFBFBD>2<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
seccount+=(u32)(sday-1)*86400; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
seccount+=(u32)hour*3600; //Сʱ<D0A1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ΪһСʱ<D0A1><CAB1>3600<30><30>
|
|||
|
seccount+=(u32)min*60; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ϊһ<CEAA><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>60<36><30>
|
|||
|
seccount+=sec; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD>ȥ
|
|||
|
PWR_BackupAccessCmd(ENABLE); //ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>Ĵ<F3B1B8BC><C4B4><EFBFBD><EFBFBD>зŵ<D0B7><C5B5><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ݪ<EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ֵ<EFBFBD><D6B5>
|
|||
|
RTC_WaitForLastTask(); //<2F>ȴ<EFBFBD><C8B4>ϴζ<CFB4>RTC<54>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
RTC_SetCounter(seccount); //д<><D0B4>ʱ<EFBFBD><CAB1>
|
|||
|
RTC_WaitForLastTask(); //<2F>ȴ<EFBFBD><C8B4>ϴζ<CFB4>RTC<54>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
return 0;
|
|||
|
}
|
|||
|
/*************************************<2A><><EFBFBD>ڼ<EFBFBD><DABC>㹫ʽ******************************************
|
|||
|
//<2F><><EFBFBD><EFBFBD>+<2B><>/4+<2B><>/400-<2D><>/100-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B>»<EFBFBD><C2BB><EFBFBD>+<2B>գ<EFBFBD>/7<><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD>
|
|||
|
ע<EFBFBD><EFBFBD>ʽ<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>1,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2,
|
|||
|
<EFBFBD>»<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>ƽ<EFBFBD>꣺һ<EFBFBD><EFBFBD>0, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>3, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>3, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>6, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>1, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>4,
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>3, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>5, ʮ<EFBFBD><EFBFBD>0, ʮһ<EFBFBD><EFBFBD>3,ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>5.
|
|||
|
2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣺һ<EFBFBD><EFBFBD>0, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>3, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>4, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>2, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>5,
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>3, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>6, ʮ<EFBFBD><EFBFBD>1, ʮһ<EFBFBD><EFBFBD>4, ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>6.
|
|||
|
<EFBFBD>磺1949<EFBFBD><EFBFBD>10<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
<EFBFBD><EFBFBD>1949+1949/4+1949/400-1949/100-1+0+1<EFBFBD><EFBFBD>/7
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1949+487+4-19-1+0+1<EFBFBD><EFBFBD>/7
|
|||
|
<EFBFBD><EFBFBD>345<EFBFBD><EFBFBD><EFBFBD><EFBFBD>6
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
**********************************************************************************************/
|
|||
|
//=======================================================================================================
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: u8 RTC_Get_Week(u16 year,u8 month,u8 day)
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>빫<EFBFBD><EBB9AB><EFBFBD><EFBFBD><EFBFBD>ڵõ<DAB5><C3B5><EFBFBD><EFBFBD><EFBFBD>(ֻ<><D6BB><EFBFBD><EFBFBD>2000-2136<33><36>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD>
|
|||
|
// <20>䡡<EFBFBD><E4A1A1>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// <20>䡡<EFBFBD><E4A1A1>: <20><><EFBFBD>ں<EFBFBD>
|
|||
|
// ȫ<>ֱ<EFBFBD><D6B1><EFBFBD>:
|
|||
|
// <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>:
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: СС<D0A1><D0A1>
|
|||
|
// <20>ա<EFBFBD><D5A1><EFBFBD>: 2014<31><34>6<EFBFBD><36>5<EFBFBD><35>
|
|||
|
// <20><> ע:
|
|||
|
//-------------------------------------------------------------------------------------------------------
|
|||
|
// <20><EFBFBD><DEB8><EFBFBD>:
|
|||
|
// <20>ա<EFBFBD><D5A1><EFBFBD>:
|
|||
|
// <20><> ע:
|
|||
|
//=======================================================================================================
|
|||
|
u8 week_tab[] ={0,1,4,4,0,2,5,0,3,6,1,4,6};
|
|||
|
u8 RTC_Get_Week(u16 Year,u8 Month,u8 Date)
|
|||
|
{
|
|||
|
if( (Month < 3) && ((!(Year&0x03) && (Year%1000)) || (!(Year%400))))Date--;
|
|||
|
return ( Date + Year + Year/4 + Year/400 -Year/100 + week_tab[Month]-2 )%7;
|
|||
|
}
|
|||
|
//=======================================================================================================
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: u8 RTC_Get(void)
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> <20>õ<EFBFBD><C3B5><EFBFBD>ǰ<EFBFBD><C7B0>ʱ<EFBFBD><CAB1>
|
|||
|
// <20>䡡<EFBFBD><E4A1A1>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// <20>䡡<EFBFBD><E4A1A1>: //<2F><><EFBFBD><EFBFBD>ֵ:0,<2C>ɹ<EFBFBD>;<3B><><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
// ȫ<>ֱ<EFBFBD><D6B1><EFBFBD>:
|
|||
|
// <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>:
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: СС<D0A1><D0A1>
|
|||
|
// <20>ա<EFBFBD><D5A1><EFBFBD>: 2014<31><34>6<EFBFBD><36>5<EFBFBD><35>
|
|||
|
// <20><> ע:
|
|||
|
//-------------------------------------------------------------------------------------------------------
|
|||
|
// <20><EFBFBD><DEB8><EFBFBD>:
|
|||
|
// <20>ա<EFBFBD><D5A1><EFBFBD>:
|
|||
|
// <20><> ע:
|
|||
|
//=======================================================================================================
|
|||
|
void RTC_Get(void)
|
|||
|
{
|
|||
|
static u16 daycnt=0;
|
|||
|
u32 timecount=0;
|
|||
|
u32 temp=0;
|
|||
|
u16 temp1=0;
|
|||
|
if(PLC_BIT_TEST(M8015))
|
|||
|
{RTC_Set(D8018,D8017,D8016,D8015,D8014,D8013);}
|
|||
|
else if(PLC_BIT_TEST(M8018))
|
|||
|
{
|
|||
|
timecount=RTC_GetCounter();//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ֵ(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
temp=timecount/86400; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>) һ<><D2BB>=86400<30><30>
|
|||
|
if(daycnt!=temp) //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
daycnt=temp;
|
|||
|
temp1=2016; //<2F><>2016<31>꿪ʼ
|
|||
|
while(temp>=365) //<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
{
|
|||
|
if(Is_Leap_Year(temp1)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if(temp>=366)temp-=366; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
else {temp1++;break;}
|
|||
|
}
|
|||
|
else temp-=365; //ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
temp1++;
|
|||
|
}
|
|||
|
D8018 = temp1; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
temp1=0;
|
|||
|
while(temp>=28) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD> <20><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>28<32><38>
|
|||
|
{
|
|||
|
if(Is_Leap_Year(D8017)&&temp1==1)//<2F><><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/2<>·<EFBFBD>
|
|||
|
{
|
|||
|
if(temp>=29)temp-=29; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>29<32><39>
|
|||
|
else break;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if(temp>=mon_table[temp1])temp-=mon_table[temp1];//ƽ<><C6BD>
|
|||
|
else break;
|
|||
|
}
|
|||
|
temp1++;
|
|||
|
}
|
|||
|
D8017 = temp1+1; //<2F>õ<EFBFBD><C3B5>·<EFBFBD>
|
|||
|
D8016 = temp+1; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
temp=timecount%86400;
|
|||
|
D8015 = temp/3600; //Сʱ
|
|||
|
D8014 = (temp%3600)/60; //<2F><><EFBFBD><EFBFBD>
|
|||
|
D8013 = (temp%3600)%60; //<2F><><EFBFBD><EFBFBD>
|
|||
|
D8019 = RTC_Get_Week(D8018,D8017,D8016);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
/*
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTC_Configuration
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTC
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void RTC_Config(void)
|
|||
|
{
|
|||
|
/* ʹ<><CAB9>PWR<57><52>BKPʱ<50><CAB1> */
|
|||
|
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
|
|||
|
/*ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>Ĵ<F3B1B8BC><C4B4><EFBFBD><EFBFBD>зŵ<D0B7><C5B5><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ݪ<EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ֵ<EFBFBD><D6B5> */
|
|||
|
PWR_BackupAccessCmd(ENABLE);
|
|||
|
/* <20><><EFBFBD>Ĵ<F3B1B3BC><C4B4><EFBFBD><EFBFBD>ļĴ<C4BC><C4B4><EFBFBD>ֵ<EFBFBD><D6B5>ΪĬ<CEAA><C4AC>ֵ */
|
|||
|
BKP_DeInit();
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>پ<EFBFBD><D9BE><EFBFBD><EFBFBD><EFBFBD>RTC<54><43><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Դ<EFBFBD><D4B4><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>پ<EFBFBD><D9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>پ<EFBFBD><D9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>پ<EFBFBD><D9BE><EFBFBD>32768HZ */
|
|||
|
RCC_LSEConfig(RCC_LSE_ON);
|
|||
|
/*<2A>ȴ<EFBFBD><C8B4>ⲿ<EFBFBD><E2B2BF><EFBFBD>پ<EFBFBD><D9BE><EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) ;
|
|||
|
/*ѡ<><D1A1><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>پ<EFBFBD><D9BE><EFBFBD>ΪRTC<54><43>ʱ<EFBFBD><CAB1>Դ*/
|
|||
|
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
|
|||
|
/* ʹ<><CAB9>RTCʱ<43><CAB1> */
|
|||
|
RCC_RTCCLKCmd(ENABLE);
|
|||
|
/* <20>ȴ<EFBFBD>RTC<54>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>RTC<54><43>APBʱ<42><CAB1>ͬ<EFBFBD><CDAC> */
|
|||
|
RTC_WaitForSynchro();
|
|||
|
/* <20>ȴ<EFBFBD><C8B4>ϴζ<CFB4>RTC<54>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
RTC_WaitForLastTask();
|
|||
|
/* ʹ<><CAB9>RTC<54>ж<EFBFBD> */
|
|||
|
RTC_ITConfig(RTC_IT_SEC, ENABLE);
|
|||
|
/* <20>ȴ<EFBFBD><C8B4>ϴζ<CFB4>RTC<54>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
RTC_WaitForLastTask();
|
|||
|
/* <20><><EFBFBD><EFBFBD>RTC<54><43>Ԥ<EFBFBD><D4A4>Ƶֵ<C6B5><D6B5><EFBFBD><EFBFBD>Ϊ<EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>پ<EFBFBD><D9BE><EFBFBD><EFBFBD><EFBFBD>32768<36><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> */
|
|||
|
/* RTC<54><43> <20><> <20><> <20><> <20><> Ƶ <20><>= RTCCLK/RTC_PR = (32.768 KHz)/(32767+1) */
|
|||
|
RTC_SetPrescaler(32767);
|
|||
|
/* <20>ȴ<EFBFBD><C8B4>ϴζ<CFB4>RTC<54>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
RTC_WaitForLastTask();
|
|||
|
}
|
|||
|
|
|||
|
void RTC_Init(void)
|
|||
|
{
|
|||
|
u16 u16_WaitForOscSource;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BKP<4B>ĺĴ<F3B1B8BC><C4B4><EFBFBD>1<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>0xA5A5
|
|||
|
//<2F><>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>üĴ<C3BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
//<2F><><EFBFBD><EFBFBD>RTC<54><43><EFBFBD>ݶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if(BKP_ReadBackupRegister(BKP_DR1) != 0x5A5A)
|
|||
|
{
|
|||
|
RTC_Config();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<F3B1B8BC><C4B4><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>0xA5A5
|
|||
|
BKP_WriteBackupRegister(BKP_DR1, 0x5A5A);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>Ĵ<F3B1B8BC><C4B4><EFBFBD>û<EFBFBD>е<EFBFBD><D0B5>磬<EFBFBD><E7A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTC
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RCC_GetFlagStatus()<29><><EFBFBD><EFBFBD><EFBFBD>鿴<EFBFBD><E9BFB4><EFBFBD>θ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
|
|||
|
for(u16_WaitForOscSource=0;u16_WaitForOscSource<5000;u16_WaitForOscSource++);
|
|||
|
if (RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET); //<2F><><EFBFBD><EFBFBD><EFBFBD>ϵ縴λ
|
|||
|
else if (RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET){} //<2F><><EFBFBD><EFBFBD><EFBFBD>ⲿRST<53>ܽŸ<DCBD>λ
|
|||
|
//<2F><><EFBFBD><EFBFBD>RCC<43>и<EFBFBD>λ<EFBFBD><CEBB>־
|
|||
|
RCC_ClearFlag();
|
|||
|
/* ʹ<><CAB9>RTC<54>ж<EFBFBD> */
|
|||
|
RTC_ITConfig(RTC_IT_SEC, ENABLE);
|
|||
|
//<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
RTC_WaitForLastTask();
|
|||
|
}
|
|||
|
PLC_BIT_ON(M8018);PLC_BIT_OFF(M8015);
|
|||
|
}
|