完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
有没有人用过STM8L152C6的RTC时钟,我现在要用STM8L152C6的RTC时钟作出手表计时,不使用库函数编程,在百度一直找不到相关代码,只找不到RTC时钟焕解的代码,有没有人能帮忙给人相关代码,在数据手册上描述初始化RTC时钟的部分也不大明白,有做过这方面的请告诉怎么写
#include #include unsigned int Beep_Freq = 500; //蜂鸣器输出频率 #define LED_out PC_ODR_bit.ODR7 void Port_Init(void){ PC_DDR_bit.DDR7 = 1; PC_CR1_bit.C17 = 1; PC_CR2_bit.C27 = 0; PC_ODR_bit.ODR7 = 1; } void RTC_AWU() { CLK_PCKENR2 |= 0x04; //外设RTC时钟允许,Frtc = Flsi/8 = 38K/8 CLK_CRTCR = 0x04; //CLK_CRTCR[7:5]=000B 则RTC clock source/1 //CLK_CRTCR[4;1]=0010B 则选择LSI while( (CLK_CRTCR&0x01) == 0x1 ); //CLK_CRTCR[0]=1为忙 //RTC解锁,必须先写0xCA后写0x53 RTC_WPR = 0xCA; RTC_WPR = 0x53; RTC_CR2_WUTE = 0; //必须先清专用定时器唤醒允许位,再操作RTC其它寄存器 RTC_CR1 = 0x00; //wakeup时钟选择,RTC_CR1[2:0]=000B则选择 RTCCLK/16 while( RTC_ISR1_WUTWF == 0 ); //等待wakeup时钟允许,即:WUTWF=1为允许 //写定时计数器的值(下向计数的) // Wakeup周期 = 1/(Frtc/8/16)*(WUT[15:0]+1) // = 1/(38K/8/16)*(10000+1) // = 3.368ms*10001 = // RTC_WUTRH = 10000/256; // RTC_WUTRL = 10000%256; RTC_WUTRH = 1000/256; RTC_WUTRL = 1000%256; RTC_CR2_WUtiE = 1; RTC_CR2_WUTE = 1; asm("RIM"); } //******************************************************************************** //RTC AWU中断 /*#pragma vector=0X06*/ #pragma vector=RTC_WAKEUP_vector __interrupt void RTC_AWU_vector() { RTC_ISR2_WUTF = 0; //清RTC AWU中断标志 LED_out = !LED_out; } void main(void) { // CLK_PCKENR2 |= 0x02; __disable_interrupt(); CLK_CKDIVR = 0x00; Port_Init(); RTC_AWU(); __enable_interrupt(); for(;;) {; } } |
|
相关推荐
2个回答
|
|
最近大家是不是去过节了,都没回答
|
|
|
|
不错。。值得学习!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
277 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
368 浏览 0 评论
766 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
592 浏览 0 评论
879 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12034 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 22:32 , Processed in 0.563741 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号