AWTK之时间设置(嵌入式平台)篇

本文介绍如何在嵌入式平台如STM32上使用AWTK进行时间设置,涉及RT_Thread物联网操作系统和IAR编译环境,通过RTC设备获取及设置时间,确保时钟控件正常工作。
摘要由CSDN通过智能技术生成

前言:

当AWTK界面被应用到嵌入式平台(如STM32中),需要提供并设置获取当前日期和时间的函数,否则相关的功能(如时钟控件)将无法正常工作。

一、函数

date_time_global_init_ex(&s_date_time_vtable);

 

 

二、代码实现:

平台:STM32

物联网操作系统:RT_Thread

编译:IAR

此处注册RTC设备:略

RTC获取时间部分

 RTC.c

/** @brief RTC设备的名称 */
#define RTC_DEVICE_NAME								"RTC"

/** @brief 配置RTC设备硬件时间直接存储、使用当地时间 */
#define CONFIG_RTC_TIME_IS_LOCAL					(0)

// Table of month length (in days) for the Un-leap-year
PRIVATE const bf_uint8_t s_mdaysUnleapYear[] =
{
	0U, 31U, 28U, 31U, 30U, 31U, 30U, 31U, 31U, 30U, 31U, 30U, 31U
};

// Table of month length (in days) for the Leap-year
PRIVATE const bf_uint8_t s_mdaysLeapYear[] =
{
	0U, 31U, 29U, 31U, 30U, 31U, 30U, 31U, 31U, 30U, 31U, 30U, 31U
};

/**
 * @brief RTC时间数据的类型定义
 */
typedef struct st_rtc_time
{
	bf_uint16_t year;								/**< 年,例如2016 */
	bf_uint16_t month;								/**< 月, (1-12) */
	bf_uint16_t day;								/**< 日, (1-31) */
	bf_uint16_t hour;								/**< 小时, (0-23) */
	bf_uint16_t minute;								/**< 分钟, (0-59) */
	bf_uint16_t second;								/**< 秒, (0-59) */
} st_rtc_time_t, *pst_rtc_time_t;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值