[学习笔记] AC781x RTC模块学习笔记

[复制链接]
5901|13
 楼主| RunningX 发表于 2019-8-6 21:09 | 显示全部楼层 |阅读模式
本帖最后由 RunningX 于 2019-8-6 21:16 编辑

  简介
实时计数器(RTC)由一个32位计数器、一个32位比较器、若干个基于二进制和基于十进制的预分频器、四个时钟源、一个可编程周期性中断和一个可编程外部脉冲输出组成。此模块可用于计时,日历或任何任务调度功能。它还能充当循环唤醒,将器件从停止(stop)模式和等待(standby)模式中唤醒且无需外部组件。
备份寄存器(BKP)是两个32位寄存器,用于存储8字节的用户应用程序数据。它们在VDD域中实现。系统复位或设备从待机(standby)模数唤醒时,不会复位。仅在可以上电复位(POR)复位;入侵检测事件(Temper)复位

  RTC,BKP特性
1.    32位向上计数器(32位模数寄存器,软件可控制的周期性定时中断);
2.    可编程20位预分频器,可由软件选择时钟源(总线时钟,LSI(32KHz),外部XOSC时钟,内部HIS时钟(8MHz));

3.    备用寄存器入侵检测(1个边沿触发的入侵事件检测,2个备用寄存器(8个字节));

存储器映像和寄存器定义 RTC寄存器.PNG


详细的学习笔记代码,可参考附件,查阅查阅《AC781X RTC、BKP模块应用笔记》,通过配置RTC_SAMPLE_SELECT来实现不同的RTC功能:
功能1:配置RTC计时1S,控制LED2以0.5Hz频率闪烁;
功能2:配置RTC计时5S,按下K6按键进入休眠后,RTC可以定时唤醒
功能3:使用BKP寄存器,使能Temper入侵检测事件复位BKP寄存器


rtc_sample.rar (164.12 KB, 下载次数: 172)





fanchenxinok 发表于 2021-7-28 14:57 | 显示全部楼层
楼主你好,可以用RTC用GPIO模拟实现80HZ的clock吗
 楼主| RunningX 发表于 2021-7-28 15:01 | 显示全部楼层
fanchenxinok 发表于 2021-7-28 14:57
楼主你好,可以用RTC用GPIO模拟实现80HZ的clock吗

可以,如果固定是80Hz,用PWM模块输出80Hz更方便吧

评论

@RunningX :我将RTC中断优先级调最高了,还是不行 NVIC_SetPriority(RTC_IRQn, 0); 效果如图所示。  发表于 2021-7-29 11:05
@fanchenxinok :https://bbs.21ic.com/icview-2876176-1-1.html参考这个帖子  发表于 2021-7-29 10:43
@RunningX :是调整中断向量表的顺序?  发表于 2021-7-29 10:18
@RunningX :是的 现在就是在中断回调函数里做gpio翻转,RTC中断优先级怎么调整?  发表于 2021-7-29 09:58
@fanchenxinok :RTC输出GPIO的话,在中断里面进行IO口翻转,把中断优先级调成最高,应该不会有问题  发表于 2021-7-28 17:56
用gpio模拟的clock并不完美,脉冲有宽有窄 头疼  发表于 2021-7-28 16:31
管脚的PWM和其他管脚的PWM是同一组,频率不能改,不能是80HZ 所以考虑用RTC  发表于 2021-7-28 15:05
fanchenxinok 发表于 2021-7-29 11:06 | 显示全部楼层
RunningX 发表于 2021-7-28 15:01
可以,如果固定是80Hz,用PWM模块输出80Hz更方便吧

图片在此 forum.jpg
微信图片_20210729110706.jpg
 楼主| RunningX 发表于 2021-7-29 11:36 | 显示全部楼层

异常是指中间空掉的那一段吗?这个不应该啊。你把其他代码都去掉,只配置这个RTC跟IO口翻转试试

评论

楼主 找到原因了 是因为我在can中断函数中加了打印造成的, 谢谢  发表于 2021-7-29 14:32
fanchenxinok 发表于 2021-7-29 13:51 | 显示全部楼层
本帖最后由 fanchenxinok 于 2021-7-29 14:32 编辑
RunningX 发表于 2021-7-29 11:36
异常是指中间空掉的那一段吗?这个不应该啊。你把其他代码都去掉,只配置这个RTC跟IO口翻转试试 ...

不跑其他代码波形是没问题的,我发现是can引起的,PC每隔一秒发送报文就会出现波形缺失这种情况
楼主 找到原因了 是因为我在can中断函数中加了打印造成的, 谢谢
 楼主| RunningX 发表于 2021-7-30 09:28 | 显示全部楼层
fanchenxinok 发表于 2021-7-29 13:51
不跑其他代码波形是没问题的,我发现是can引起的,PC每隔一秒发送报文就会出现波形缺失这种情况
楼主 找到 ...

好的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

223

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部