3.11 RTC实验(拓展学习之使用RTC功能设定闹钟)
3.11.1 实验介绍 1、学习使用STC32G12K128的RTC实时时钟功能 2、学习使用STC32G12K128的RTC的闹钟功能 3、使用拓展中断号工具解除Keil中32个中断号的限制 4、熟练使用USB-CDC功能 5、熟练使用AiCube-ISP软件
程序运行约5s后,AiCube-ISP软件的CDC窗口显示“RTCStart”,RTC闹钟10s产生中断,打印数据在CDC窗口显示“Alarm!” CDC串口发送任意数据,读取RTC的秒值,并在CDC窗口显示 观察到实验现象: Ü 程序运行5s后,AiCube-ISP软件CDC的接收缓冲区窗口显示“RTC Start”,再10s后,窗口显示“Alarm!” Ü 在USB-CDC串口发送任意数据,在CDC的接收缓冲区窗口显示当前的RTC秒值
3.11.2 原理图
3.11.3 准备工作--添加头文件、Keil中断拓展插件、库函数 1、添加常用头文件ai_usb.h #include "ai_usb.h" //使用usb所需要包含的头文件。 这个头文件在使用AiCube-ISP软件添加型号和头文件到Keil中时就已经一并被添加到Keil中了。
2、添加Keil中断拓展插件 Keil C51/C251编译器只支持31以内的中断号(0~31),超过31编译会报错。 RTC的中断向量RTC_VECTOR为36,这就需要Keil中断号拓展工具,可将中断号拓展到254。
下载完成后,打开压缩包“拓展Keil的C代码中断号.zip”,找到“拓展Keil的C代码中断号.exe”,这是绿色免安装软件。
直接双击“拓展Keil的C代码中断号.exe”,出现如下界面,选择安装路径,按照默认直接安装到C:\Keil_V5目录下,点击“确定”
如下图,点击“确定”,Keil的C代码中断号到254
3、添加usb_cdc库函数文件 下载完成后,打开压缩包“STC_USB_LIBRARY.zip”, 在’库文件\查询模式STC-CDC库文件’中,复制出来stc_usb_cdc_32g.LIB
Ü 将库函数“stc_usb_cdc_32g.LIB”复制到创建项目所在的文件夹中
Ü 将库函数stc_usb_cdc_32g.LIB添加进入此项目中 在Keil中,双击Source Group,在弹出的Add Files to Group 'SourceGroup 1窗口中, 将库函数stc_usb_cdc_32g.LIB添加进入此工程项目,就可以使用USB-CDC功能。
这样,Keil界面变化如下图: 【注意】:USB-CDC串口则更类似传统串口的形式,使用COM口进行通讯, 但是只有Win10及其以上才默认携带USB-CDC的驱动,较低的系统版本可能要手动安装驱动才能使用。
|