RISC-V技术论坛
直播中

jinglixixi

8年用户 1592经验值
擅长:嵌入式技术 光电显示 接口/总线/驱动 控制/MCU
私信 关注

【御芯微WIoTa®自组网协议开发套件试用体验】RTC计时及温度检测功能测试

  1. RTC计时

RTC是一种可以提供精确实时计时的计时器,可产生年、月、日、时、分、秒等信息。对于UM202模块来讲,它是采用内部32.768KHz时钟作为RTC时钟源,并具有RTC报警功能。

在应用过程中,程序是通过 RTC 设备管理接口来访问 RTC 硬件,其相关接口如图1所示。

image.png

图1 相关接口

通过对RTC例程的编译和下载,可以体验到它的实时计时功能,其运行结果如图2所示。

image.png

图2 运行效果

在RTC的计时过程中,主要经过这样几个环节,即:

1)使用函数对RTC及其时钟进行初始化,语句为:

image.png

2)设置RTC计时器的初始值,语句为:

image.png

3)若需要定时提示功能,则设置提醒的时间,语句为:

image.png

4)使能RTC提醒功能及开中断,语句为:

image.png

5)循环读取RTC计时值并添加适当的延时以确保不过多地显示输出,语句为:

image.png

2.温度检测

A/D转换是大多数单片机及嵌入式器件多具备的功能,对于UM202模块来讲自然也不例外。此外,利用它还可进行温度检测。

通过对温度检测例程的编译和下载,其运行结果如图3所示。

image.png

图3 片内温度检测

在温度检测的过程中,主要经过这样几个环节,即:

1)设置温度检测通道,语句为:

image.png

2)复位温度检测通道,语句为:
image.png

3)使能ADC中断及开中断,语句为:

image.png

4)循环读取检测值并添加适当的延时以确保不过快地显示输出,语句为:

image.png

注:ADC检测值与温度变换的语句为:resis_vaule_temp = (adc_data -(float)2036.5)/(float)23.375;

通过对运行结果的观察,似乎其输出结果有不小的偏差,在夏季室内温度怎么也不会在零的左右吧。

通常来讲,温度检测的例程多是对片内温度进行检测,并使用的是片内的温度检测通道。从结果来看不像是片内温度检测,后找到图4所示的温度检测电路,果然是通过配置相应的NTC电阻来辅助检测。

image.png

图4周围温度检测电路

更多回帖

发帖
×
20
完善资料,
赚取积分