久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: STM8L的RTC自動喚醒 [打印本頁]

作者: 51hei小林    時間: 2016-10-9 23:50
標題: STM8L的RTC自動喚醒
STM8L的RTC除了具有顯示日期時間的功能外,還具有將STM8L周期性的從低功耗模式喚醒的功能.
由于使用的是RTC時鐘,在STM8進入低功耗模式時,這個時鐘不會被關閉,所以RTC的自動喚醒計數(shù)器可以在低功耗模式下工作.

如上圖,RTC的自動喚醒部分的結構比較簡單.擁有一個預分頻器WUCKSEL,可以提供2,4,8,16分頻,上游的RTCCLK一般是等于LSE的頻率,即RTCCLK的頻率為32768Hz.
同時自動喚醒部分還擁有一個16位的自動重裝載計數(shù)器,該計數(shù)器向下計數(shù)到0時,會溢出,自動裝載計數(shù)值,同時將STM8L從低功耗模式中喚醒.

STM8L數(shù)據(jù)書冊上有關于自動喚醒功能的配置流程,如下圖.

這里要注意的是,這個自動喚醒是要開啟自動喚醒中斷的,如果沒有開中斷,無法將STM8從低功耗模式下喚醒.


如上圖,本例程中WUCKSEL的分頻值為2,所以提供給自動喚醒計數(shù)器的頻率是16384Hz,周期是1000000us/16384=61us.
根據(jù)上圖中,自動喚醒的時間設置,WUTRH,WUTRH中的數(shù)值,0x1002=4098.
所以自動喚醒的時間是:4098*61us=249.987ms.


/****************************************************************************************
*開發(fā)環(huán)境:IAR for stm8 v6.5.3
*硬件平臺:STM8L-DISCOVERY
*功能說明:250ms喚醒一次,將藍燈和黃燈控制IO取反
*作    者:茗風
****************************************************************************************/
#include"iostm8l152c6.h"
#include"stdint.h"
#include"stdbool.h"
bool bRTC_Update_Flag = false;//標志位
/******************************************************************************************************
*  名    稱:void GPIO_Init(void)
*  功    能:初始化PC7為高速推挽輸出
*  入口參數(shù):無
*  出口參數(shù):無
*  說    明:
*  范    例:無
******************************************************************************************************/
void GPIO_Init(void)
{
   PC_CR1_C17  =1;//推挽輸出
   PC_CR2_C27  =1;//高速輸出
   PC_DDR_DDR7 =1;//PC7輸出
   PC_ODR_ODR7 =0;//輸出低電平

   PE_CR1_C17  =1;//推挽輸出
   PE_CR2_C27  =1;//高速輸出
   PE_DDR_DDR7 =1;//PC7輸出
   PE_ODR_ODR7 =0;//輸出低電平
}
/******************************************************************************************************
*  名    稱:void RTC_Config(void)
*  功    能:重新設置RTC的時分秒年月日,同時鬧鈴設置為一秒進入一次中斷
*  入口參數(shù):無
*  出口參數(shù):無
*  說    明:
*  范    例:無
******************************************************************************************************/
void RTC_Config(void)
{   
//------打開LCD/RTC時鐘------
  CLK_PCKENR2_PCKEN22=1;

//---選擇LSE作為RTC時鐘---
  CLK_CRTCR_RTCSEL0=0;
  CLK_CRTCR_RTCSEL1=0;
  CLK_CRTCR_RTCSEL2=0;
  CLK_CRTCR_RTCSEL3=1;
/* 0000: No clock selected
   0001: HSI clock used as RTC clock source
   0010: LSI clock used as RTC clock source
   0100: HSE clock used as RTC clock source
   1000: LSE clock used as RTC clock sourc*/

//----設置RTC時鐘分頻值----
  CLK_CRTCR_RTCDIV0=0;
  CLK_CRTCR_RTCDIV1=0;
  CLK_CRTCR_RTCDIV2=0;
/*000: RTC clock source/1
  001: RTC clock source /2
  010: RTC clock source /4
  011: RTC clock source /8
  100: RTC clock source /16
  101: RTC clock source /32
  110: RTC clock source /64
  111: RTC clock source /128*/

  //------關閉RTC寄存器的寫保護功能------
  RTC_WPR=0xCA;
  RTC_WPR=0x53;

  //programming the auto-wakeup timer
  RTC_CR2_WUTE=0;//disable the wakeup timer
  while(!RTC_ISR1_WUTWF);

//------配置自動喚醒分頻值------
  RTC_CR1_WUCKSEL=0x03;//32768Hz/2=16384Hz
/*  000: RTCCLK/16 clock is selected
    001: RTCCLK/8 clock is selected
    010: RTCCLK/4 clock is selected
    011: RTCCLK/2 clock is selected   */

//------設置自動喚醒時間------  
  RTC_WUTRH=0x10;//裝初值
  RTC_WUTRL=0x02;//

//------使能自動喚醒------  
  RTC_CR2_WUTE=1;//使能自動喚醒
  RTC_CR2_WUTIE=1;//開啟自動喚醒中斷

//------使能寫保護------  
  RTC_WPR=0x55;
  RTC_WPR=0x55;
}
void main(void)
{
  GPIO_Init();
  RTC_Config();
  asm("rim");               //enable interrupts
  while(1)
  {
    PC_ODR_ODR7 ^=0x01;
    asm("halt");//執(zhí)行此條語句后,STM8L152C6進入低功耗模式,主時鐘關閉,但RTC仍然在運行
  }
}
#pragma vector=RTC_WAKEUP_vector
__interrupt void RTC_WAKEUP_ISR(void)
{
  if(RTC_ISR2_WUTF==1)
  {
    PE_ODR_ODR7 ^=0x01;
    RTC_ISR2_WUTF=0;
  }
}



作者: dcc024    時間: 2022-3-7 16:54
謝謝,謝謝,我這就試試,




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 综合激情久久 | av黄色在线观看 | 一区二区三区欧美 | 中文字幕精品一区二区三区精品 | 视频一区二区在线观看 | 欧美精品久久久久久 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 国产成人精品一区二区三区四区 | 国产精品一区在线观看 | 国产视频一区二区 | 精品国产一区久久 | 国产日韩久久 | 亚洲视频一区在线观看 | 成人中文网 | 久久久久精 | 在线视频一区二区三区 | 久久精品99 | 久久久入口 | 午夜精品久久久久久久久久久久 | 少妇一级淫片免费播放 | 欧美日韩精品一区二区三区视频 | 黄色毛片免费 | 中文字幕一区二区三区不卡在线 | 国产成都精品91一区二区三 | 亚洲一区精品在线 | 福利在线看 | 成人在线视频免费播放 | 在线视频国产一区 | 国产欧美精品 | 国产一区 | 久久涩涩 | 日韩一区中文字幕 | 日韩精品久久久久久 | 国产69精品久久久久777 | 精品国产乱码久久久久久久久 | 亚洲人成网站777色婷婷 | 少妇黄色| 亚洲成人国产综合 | 欧美日韩在线播放 | 日韩欧美中文 | 一级毛片在线视频 |