12
返回列表 发新帖

[demo程序] NV32f100 RTC 相关API

[复制链接]
楼主: aizaixiyuanqian
 楼主 | 2018-12-27 12:27 | 显示全部楼层
6
RTIE
实时中断使能
该读/写位使能实时中断。 如果 RTIE 置位, 那么在 RTIF 置位时会生成中断。 复位会将 RTIE
清除为 0。
0 实时中断请求禁用。 使用软件轮询。
1 实时中断请求使能。
 楼主 | 2018-12-27 22:08 | 显示全部楼层
5
保留
此字段为保留字段。
此只读字段为保留字段且值始终为 0。
 楼主 | 2018-12-27 22:09 | 显示全部楼层
4
RTCO
实时计数器输出
该读/写位使能实时计数器把切换输出到引脚上。 如果该位置位, 那么在 RTC 计数器溢出时,
将切换 RTCO 至引脚。
0 实时计数器输出禁用。
1 实时计数器输出使能。
 楼主 | 2018-12-27 22:10 | 显示全部楼层
3-0
保留
此字段为保留字段。
此只读字段为保留字段且值始终为 0。
 楼主 | 2018-12-27 22:11 | 显示全部楼层
RTC 计数中断控制 LED 闪烁 实例
头文件:
#include "common.h"
#include "rtc.h"
#include "uart.h"
#include "sysinit.h"
int main (void);
void RTC_Task(void);
 楼主 | 2018-12-27 22:11 | 显示全部楼层
定义变量与结构体
uint8_t u8Ch;
uint16_t u16ModuloValue;
RTC_ConfigType sRTCConfig;
RTC_ConfigType *pRTC_Config=&sRTCConfig;
 楼主 | 2018-12-27 22:12 | 显示全部楼层
/* 系统初始化 */
sysinit();
printf("\nRunning the RTC_demo project.\n");
LED0_Init(); //初始化 LED
 楼主 | 2018-12-27 22:12 | 显示全部楼层
/* 配置 RTC 的中断频率为 1HZ */
u16ModuloValue = 0x09;//模值为 10
pRTC_Config->u16ModuloValue = u16ModuloValue; //装载值到模数寄存器中
pRTC_Config->bInterruptEn = RTC_INTERRUPT_ENABLE; // 使能中断
pRTC_Config->bClockSource = RTC_CLKSRC_1KHZ; // 选取时钟源为 1KHZ
pRTC_Config->bClockPresaler = RTC_CLK_PRESCALER_100; //分频数为 100
RTC_SetCallback(RTC_Task);//设置 RTC 回调函数
RTC_Init(pRTC_Config);//初始化 RTC 模块
 楼主 | 2018-12-27 22:12 | 显示全部楼层
/*
****************************************************************************//*!
* *
@rtc 任务子函数, 闪烁 LED
* *
@无返回
* *
****************************************************************************/
void RTC_Task(void)
{
i=i+1;
if(i%3==2)
{
LED0_On();
LED1_Off();
LED2_Off();
} e
lse if(i%3==1)
{
LED0_Off();
LED1_On();
LED2_Off();
}
else
{
LED0_Off();
LED1_Off();
LED2_On();
}
}
 楼主 | 2018-12-27 22:13 | 显示全部楼层
本例程通过操作 RTC 模块, 完成一个 LED 灯固定频率的闪烁, 而且较为精准; 为开发者尽快了解 NV32F100
的 RTC 模块提供了一个框架。
| 2019-1-5 16:22 | 显示全部楼层
分析的很详细
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

快速回复 返回顶部 返回列表