中级会员
 
- 积分
- 270
- 金钱
- 270
- 注册时间
- 2026-3-22
- 在线时间
- 17 小时
|
STC32G12K128 内置的 RTC(实时时钟)是一个独立的硬件计时模块,主要用于需要记录年、月、日、时、分、秒的低功耗或精准计时场景。支持设置一组闹钟,并在闹钟触发或每秒变化时产生中断,可以用来唤醒处于休眠模式的单片机。如果要保证RTC时钟精准,需要外接外部 32.768kHz 晶振,这是保证时钟长期走时准确的首选。有开发者实践表明,若使用内部时钟,一天可能偏差近10分钟。
RTC时钟为开发者提供了简单快捷的定时处理功能,今天我们就以RTC实现秒和二分之一秒中断。
打开YXRA-SDK开发工具,创建STC32G项目,在设备视图中添加RTC时钟。可以看RTC时钟支持8个中断事件,通过0x7EFE63地址中的8位是否置位来区分。注意:中断事件处理完前一定要软件清除中断标志。
添加RTC时钟后,在属性表中勾上秒和秒/2这两个中断。
双击RTC时钟图标,打开RTC时钟源码,在中断方法handleInterrupt()中添加相关业务代码。这里是通过LED闪烁查看两个中断情况。
秒中断:P6=P6 ^ 0x0F;
秒/2中断:P6=P6 ^ 0xF0;
这样就开发完成了。编译项目并用官方下载软件将hex程序下载到开发板上运行。
stcproject.zip为项目,可直接导入进来。


|
|