实时时钟RTC

RTC简述:

实时通信(Real-Time Communication, RTC)是一种支持低延迟、即时交互的数据传输技术,广泛应用于音视频通话、在线会议、游戏联机等场景。其核心目标是确保数据在毫秒级内完成端到端传输。

核心技术

  • WebRTC:开源框架,支持浏览器间直接通信,无需插件。
  • UDP 协议:优先选择 UDP 而非 TCP,减少握手和重传延迟。
  • NAT 穿透:通过 STUN/TURN 服务器解决网络地址转换问题。
  • 编解码优化:使用 VP8、H.264 等低复杂度编解码器降低延迟。

STM32-RTC:

带有亚秒·秒·分钟·小时(12或者24),星期,日期,月份,年份的日历,采用BCD(或者二进制编码的十进制)格式。

自动更正每个月的第28,29(闰年),30,31天。

两个可编程警告

RTC初始化:

使能端:

RTC应用:

两个RTC函数:

今日任务:

1 : 在STM32CubeMX软件中完成RTC的日期设置

2 :设置内部时钟的频率;设置错误会导致 Lcd 不显示任何东西;

3 :在函数中引用 RTC 设置日期函数,设置时间函数;获取时间函数;获取日期函数;最后通过 LCD 函数打印在屏幕上。

复制代码
static void RTC_CalendarShow(uint8_t* showtime, uint8_t* showdate)
{
    RTC_DateTypeDef sdatestructureget;
    RTC_TimeTypeDef stimestructureget;
    
    // 获取当前时间
    HAL_RTC_GetTime(&hrtc, &stimestructureget, RTC_FORMAT_BIN);
    
    // 获取当前日期
    HAL_RTC_GetDate(&hrtc, &sdatestructureget, RTC_FORMAT_BIN);
    
    // 格式化时间字符串
    sprintf((char*)showtime, "%2d:%2d:%2d", stimestructureget.Hours, stimestructureget.Minutes, stimestructureget.Seconds);
    LCD_DisplayStringLine(Line8, (uint8_t*)showtime); // 显示时间
    
    // 格式化日期字符串
    sprintf((char*)showdate, "%2d-%2d-%2d", 2000 + sdatestructureget.Year, sdatestructureget.Month, sdatestructureget.Date);
    LCD_DisplayStringLine(Line9, (uint8_t*)showdate); // 显示日期
}

4 :在循环中调用函数;实现年月份日期打印在 Lcd 屏幕的功能

实验或测试数据记录:

设置为 2025-11-11-11-11-11

相关推荐
Tronlong创龙10 小时前
SBC‑TLT153 嵌入式 Linux 应用开发,交叉编译与 GDB 调试实践(上)
嵌入式硬件·嵌入式开发·硬件开发·工业控制·工业开发板
巴渝小禹10 小时前
单片机死循环delay_us()计算方法
单片机·嵌入式硬件
Yiran_G10 小时前
LoRa串口模组和SoC模组怎么选?从MCU架构看无线通信方案设计
嵌入式硬件·物联网
HQB202611 小时前
CN6150|简芯维尔 6V/500mA 高速低噪声 CMOS‑LDO 线性稳压器
嵌入式硬件·硬件工程
智能直播12 小时前
RK3528 V4L2 框架 UVC 接口自动获取 H.264 / MJPEG / YUYV 格式:从内核采集到硬解分发
java·网络·实时音视频·视频编解码·h.264
科芯创展12 小时前
XZ3445 高集成升压/升降压DC-DC电源芯片技术解析
单片机·嵌入式硬件
艾芯微科技12 小时前
高充放电流锂电充放 SoC:ETA9885E10,便携储能、小移动电源 BOM 选型笔记
网络·单片机·嵌入式硬件·集成测试·51单片机
艾芯微科技13 小时前
钰泰 ETA6973PQ3Y|QFN3×3 2A 同步降压 Buck,I2C 可配置多档输出,动态调压 PMIC
网络·单片机·嵌入式硬件·fpga开发·集成测试·51单片机
Brilliantwxx13 小时前
【STM32】 通用定时器:输入捕获与输出比较详解 测脉宽、测频率
stm32·单片机·嵌入式硬件·mcu