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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6117|回復: 1
打印 上一主題 下一主題
收起左側(cè)

STM8L的RTC自動喚醒

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:140343 發(fā)表于 2016-10-9 23:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
STM8L的RTC除了具有顯示日期時間的功能外,還具有將STM8L周期性的從低功耗模式喚醒的功能.
由于使用的是RTC時鐘,在STM8進入低功耗模式時,這個時鐘不會被關(guān)閉,所以RTC的自動喚醒計數(shù)器可以在低功耗模式下工作.

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

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

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


如上圖,本例程中WUCKSEL的分頻值為2,所以提供給自動喚醒計數(shù)器的頻率是16384Hz,周期是1000000us/16384=61us.
根據(jù)上圖中,自動喚醒的時間設(shè)置,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)
*  功    能:重新設(shè)置RTC的時分秒年月日,同時鬧鈴設(shè)置為一秒進入一次中斷
*  入口參數(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*/

//----設(shè)置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*/

  //------關(guān)閉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   */

//------設(shè)置自動喚醒時間------  
  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進入低功耗模式,主時鐘關(guān)閉,但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;
  }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:216265 發(fā)表于 2022-3-7 16:54 | 只看該作者
謝謝,謝謝,我這就試試,
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色综合天天网 | 欧美一级片在线观看 | 国产精品久久久久久一区二区三区 | 91在线看网站 | 精品免费在线 | 欧美xxxx性xxxxx高清 | 淫片专区| 国产欧美精品在线 | 亚洲精品久久嫩草网站秘色 | 五月综合激情网 | 免费精品 | 成人免费观看男女羞羞视频 | av电影一区二区 | 97国产精品视频人人做人人爱 | 欧美一区2区三区4区公司 | 自拍偷拍中文字幕 | 精品美女在线观看 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | av在线播放国产 | 美女网站视频免费黄 | 亚洲 欧美 日韩 精品 | 亚洲免费在线视频 | 黄色永久免费 | 婷婷综合久久 | 日韩在线观看网站 | 成人精品免费视频 | 国产一级淫片免费视频 | 久久国产精品偷 | 美女视频网站久久 | 亚洲成人网在线播放 | 久久69精品久久久久久久电影好 | 国产91丝袜在线播放 | 日韩在线不卡 | 秋霞性生活 | 日本中出视频 | 99reav| 午夜免费精品视频 | 久久国产精品久久久久 | 亚洲一区二区免费 | 中国一级特黄真人毛片免费观看 | 国产小视频在线 |