打印
[STM8]

这样配置有源晶振对不

[复制链接]
412|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yszong|  楼主 | 2022-4-14 20:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
static void RTC_Config(void)

{

  RTC_InitTypeDef RTC_InitStr;

  RTC_TimeTypeDef RTC_TimeStr;

  RTC_DateTypeDef RTC_DateStr;

   

  (CLK->ECKCR) |= (uint8_t)0x20;   

  /* Configures the RTC */

  CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1);

  

  /* Wait for LSE clock to be ready */

  //while(CLK_GetFlagStatus(CLK_FLAG_LSERDY) == RESET);

  while( (CLK->ECKCR) & (uint8_t)(1<<3) == (uint8_t)RESET);

  /* wait for 1 second for the LSE Stabilisation */

  //LSE_StabTime();

  delay_ms(1000);

  

  CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);

  

  RTC_InitStr.RTC_HourFormat = RTC_HourFormat_24;

  RTC_InitStr.RTC_AsynchPrediv = 127;

  RTC_InitStr.RTC_SynchPrediv = 255;

  RTC_Init(&RTC_InitStr);

  

  RTC_TimeStructInit(&RTC_TimeStr);

  RTC_TimeStr.RTC_Hours = 00;

  RTC_TimeStr.RTC_Minutes = 00;

  RTC_TimeStr.RTC_Seconds = 00;

  RTC_SetTime(RTC_Format_BIN, &RTC_TimeStr);

  

  RTC_DateStructInit(&RTC_DateStr);

  //RTC_DateStr.RTC_WeekDay = RTC_Weekday_Tuesday;

  RTC_DateStr.RTC_Date = 2;

  RTC_DateStr.RTC_Month = RTC_Month_February;

  RTC_DateStr.RTC_Year = 19;

  RTC_SetDate(RTC_Format_BIN, &RTC_DateStr);

  

  RTC_WakeUpClockConfig(RTC_WakeUpClock_CK_SPRE_16bits);

  RTC_ITConfig(RTC_IT_WUT, ENABLE);



  /* Enable Interrupts*/

  //enableInterrupts();  //open before

}

使用特权

评论回复
沙发
zhanghqi| | 2022-4-14 20:58 | 只看该作者
你使用有源晶振的话,一般是从晶振直接输出时钟到 芯片的OSC_IN脚,你这时要选用外部时钟模式。

使用特权

评论回复
板凳
juventus9554| | 2022-4-14 21:00 | 只看该作者
你需要在选项字节里 调整 EXTCLK 位。

使用特权

评论回复
地板
dingy| | 2022-4-14 21:02 | 只看该作者
时钟模式选的不对

使用特权

评论回复
5
wyjie| | 2022-4-14 21:04 | 只看该作者
把相应寄存器设置改了就行

使用特权

评论回复
6
xxmmi| | 2022-4-14 21:07 | 只看该作者

唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

830

主题

11379

帖子

4

粉丝