鸿蒙WIFI-IoT开发板RTC时钟模块功能实现

2023-05-16

1. RTC时钟模块硬件准备   

RTC时钟模块

 RTC时钟模块在WiFiIoT套件上的连接

2. RTC时钟模块硬件介绍

RTC时钟模块使用I2C接口为I2C0,对应管脚连接说明:


SDA -----底板的TX ----- GPIO_13
SCL -----底板的RX ------ GPIO_14

3. RTC时钟模块功能软件实现

RTC时钟模块通过I2C协议进行通信。首先初始化I2C配置,需要调用两个函数,分别是:
hi_u32 hi_i2c_init(hi_i2c_idx id, hi_u32 baudrate);
hi_u32 hi_i2c_set_baudrate(hi_i2c_idx id, hi_u32 baudrate);
以下对这两个函数进行详细介绍:
l hi_u32 hi_i2c_init(hi_i2c_idx id, hi_u32 baudrate);
此函数为I2C初始化函数。

hi_i2c_idx id:I2C硬件设备选择,取值范围为hi_i2c_idx枚举类型,如下:

typedef enum {

    HI_I2C_IDX_0,

    HI_I2C_IDX_1,

} hi_i2c_idx;

hi_u32 baudrate:I2C通信波特率。
例如:RTC时钟模块与板子通过I2C0连接,通讯波特率为400K,故使用hi_i2c_init(HI_I2C_IDX_0, 400000);对其进行初始化。


l hi_u32 hi_i2c_set_baudrate(hi_i2c_idx id, hi_u32 baudrate);
此函数功能为配置相对应的I2C通讯波特率。


hi_i2c_idx id为I2C硬件设备选择,hi_u32 baudrate所需配置波特率。


例如:对RTC时钟模块配置I2C0为400K波特率,其函数实现为hi_i2c_set_baudrate (HI_I2C_IDX_0, 400000);

4.写数据。通过I2C传递设备地址和数据给从机。函数实现如下:

此处电源监控传感器的调用如下:

5.读数据。通过I2C的读函数读回时间数据。


l hi_u32 hi_i2c_read(hi_i2c_idx id, hi_u16 device_addr, const hi_i2c_data *i2c_data);

hi_i2c_idx id:I2C硬件设备选择,取值范围为hi_i2c_idx枚举类型,如下:

typedef enum {

    HI_I2C_IDX_0,

    HI_I2C_IDX_1,

} hi_i2c_idx;

hi_u16 device_addr:从机设备地址

const hi_i2c_data *i2c_data:I2C发送/接收数据描述符,发送的数据类型如下:

typedef struct {

    hi_u8*  send_buf;        /*CNcomment:数据发送指针CNend */

    hi_u32  send_len;        /* CNcomment:发送数据长度(单位:byte)CNend */

    hi_u8*  receive_buf;     /**< Data RX pointer. CNcomment:数据接收指针CNend */

    hi_u32  receive_len;     /*CNcomment:接收数据长度(单位:byte)CNend */

} hi_i2c_data;

例子中,RTC时钟模块读数据函数实现如下:

6.最后将读取到的年、月、日、时、分、秒、星期显示在oled屏上。以秒举例,编码如下:

END!

扫码关注我们

HarmonyOS社区

电子发烧友与华为官方共建

点击阅读原文,下载更多鸿蒙资料吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

鸿蒙WIFI-IoT开发板RTC时钟模块功能实现 的相关文章

  • Keil编译报错--IAP\IAP.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.

    之前在用CUBE生成文件时发生了这样的报错 xff1a IAP IAP sct 7 error L6236E No section matches selector no section to be FIRST LAST 发生这样的报错是因
  • Keil编程环境背景颜色--护眼色

    在Edit中选择Configuration 选择Colors amp Fonts 点击下载那个按钮 按照这个参数输入自定义颜色并添加 xff0c 就保存为一个护眼的绿色啦
  • win10下MissionPlanner地面站的安装

    win10下MissionPlanner地面站的安装 编辑器 xff1a Viaual Studio2019社区版 安装时工作负荷和单个组件的选择如下图所示 xff0c 然后自定义安装位置进行安装 安装完成后启动MP地面站 启动Visual
  • git fatal: The remote end hung up unexpectedly 错误

    使用git将本地项目添加到远程仓库报以下错误 git push u origin master Counting objects 2053 done Delta compression using up to 2 threads Compr
  • git submodule update --init --recursive

    转自https blog csdn net wangjia55 article details 24400501 转自http webfrogs me 2013 03 20 git submodule 开发过程中 xff0c 经常会有一些通
  • C++简介( C++ Primer Plus)

    C 43 43 历史 xff1a 1980年 xff0c 贝尔实验室的 Bjarne Stroustrup 本贾尼 斯特劳斯 开始对C进行改进和扩充 1983年正式命名为C 43 43 支持3钟不同的程序设计 过程化程序设计 数据 43 算
  • 树莓派3B+ 引脚图说明

    如上图所示 xff0c 我们可以很清楚的看到各个引脚的功能 例如我们想使用pwm引脚来控制舵机 xff0c 则我们可以考虑使用其中的 BCM18 PWM0 和 BCM13 PWM1 在使用wiringPi库时 xff0c 我们定义的引脚即B
  • 树莓派3B+ 串口使用大全(实现串口通信功能)

    1 树莓派串口控制台功能 在2018 10 09 raspbian stretch img镜像中 xff0c 要使用串口来调试设备 xff0c 需要修改conig txt文件 1 sudo systemctl disable hciuart
  • Java学习笔记(三)函数——学习MOOC网翁恺老师课程记录

    七 函数 7 1 函数定义与调用 Java的函数必须定义在类的内部 xff0c 成为类的成员 定义一个函数 xff0c 要像这样写 xff1a lt 返回类型 gt lt 方法名称 gt lt 参数表 gt lt 方法体 gt 返回类型是这
  • STL笔试面试题总结(干货)

    STL笔试面试题总结 一 STL有哪些组件 STL提供六大组件彼此此可以组合套用 1 容器 容器就是各种数据结构 我就不多说 看看下面这张图回忆一下就好了 从实现角度看 STL容器是一种class template 2 算法 各种常见算法
  • Framebuffer 机制【转】

    本文转载自 xff1a http blog csdn net paul liao article details 7706477 Framebuffer Framebuffer是Linux系统为显示设备提供的一个接口 xff0c 它将显示缓
  • 单片机——蜂鸣器

    1 蜂鸣器 2 所用元件 2n5771 at89c51 button cap cap elec crystal res speaker 例图 xff1a 例图代码 xff1a include lt REGX51 H gt sbit BEEP
  • Linux获取机器码

    1 准备工作 安装php xff0c 并已经配置好环境变量path 2 运行hardware sh获取机器码 shell gt php span class token punctuation span span class token o
  • Windows远程桌面卡顿问题(包含网络调优)

    注 xff1a 以下操作需管理员权限执行CMD 关闭自动调节 xff1a netsh interface tcp span class token function set span global autotuninglevel 61 di
  • ESXI VIB升级报错

    一 兼容性问题 1 通过VIB升级ESXI时 xff0c 可能会出现类似报错 span class token namespace DependencyError span VIB LSI bootbank scsi mpt3sas 04
  • MySQL 8.0安装

    1 安装MySQL 8 0 Server shell gt dnf span class token operator span y install 64 mysql 2 开启服务 shell gt systemctl span class
  • 华为镜像启动报错

    shell gt span class token function rm span span class token operator span etc span class token operator span udev span c
  • ThinkPad T14s 安装Ubuntu22踩坑记

    讲一个我装机历经的一个小故事 首先 xff0c 花个万把块 xff0c 买个心仪的撸码神奇 xff0c 我买的是2022款ThinkPad T14s 官网关注了好久就是不出32G内存版本的 xff0c 无奈只能买一个16G内存版本的 xff
  • STM32F429入门(二十一):SPI协议及SPI读写FLASH

    IIC主要用于通讯速率一般的场合 xff0c 而SPI一般用于较高速的场合 一 SPI协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议 Serial Peripheral Interface xff0c 即串行外围设 备接口 xff0c
  • Dell清除BIOS密码及硬盘锁

    1 获取System Number F2进入BIOS xff0c 点击Unlock出现以下界面 xff0c 记录System Number 2 获取password 访问https bios pw org xff0c 将记录的System

随机推荐

  • 论文阅读:Learning Deep Features for Discriminative Localization(CAM)

    Learning Deep Features for Discriminative Localization 文章目录 Learning Deep Features for Discriminative Localization摘要1 引言
  • 上下文切换

    上下文切换 xff08 有时也称做进程切换或任务切换 xff09 是指 CPU 从一个 进程或线程 切换到另一个进程或线程 进程 xff08 有时候也称做任务 xff09 是指一个 程序运行的 实例 在 Linux 系统中 xff0c 线程
  • CAS服务器搭建

    一 CAS是Central Authentication Service的缩写 xff0c 中央认证服务 xff0c 一种独立开放指令协议 CAS 是 Yale 大学发起的一个开源项目 xff0c 旨在为 Web 应用系统提供一种可靠的单点
  • 如何查linux服务器的带宽占用?哪些进程占用带宽?

    前言 操作系统 xff1a Linux 操作环境 xff1a Centos7 ubuntu linux查看服务器带宽具体方法 一 使用speedtest cli命令查看下载和上传最大流量值 因为命令是python的 xff0c 所以需要先下
  • ESP8266调试方法

    ESP8266在开发的过程中无法进行仿真 xff0c 所以 xff0c 为了排查问题 xff0c 我们只能用别的方法 xff0c 下面一起来看看常用的两种方法 xff1a 添加UART打印和Fatal 查证方法 添加UART打印 对于 ES
  • 二、操作系统进程管理(4)——处理机调度(2)进程调度的时机、切换与过程、方式、评价指标

    3 进程调度的时机 切换与过程 方式 xff08 1 xff09 进程调度 xff08 低级调度 xff09 的时机 xff1a 什么时候需要进程调度 xff1f 主动放弃 xff1a 进程正常终止 运行过程中发生异常而终止 主动阻塞 xf
  • eclipse保存失败/无法保存/字符编码问题/JAVA

    eclipse保存失败 无法保存 字符编码问题 JAVA 在eclipse中单击 保存 按钮时出现如下提示对话内容 xff08 框 xff09 未能完成保存 原因 xff1a 使用 GBK 字符编码时 xff0c 无法映射某些字符 更改编码
  • java运算符(a++和++a)

    提示 xff1a 文章主要说明a 43 43 和 43 43 a系列 xff0c 附带其余信息 a 43 43 和 43 43 a的不同 xff1a 不同点是a 43 43 是先赋值再 43 1 xff0c 而 43 43 a则是先 43
  • 计算统计笔记整理(持更)

    bootstrap方法 基本思想 xff1a 模拟 目的 xff1a 计算 xff08 任意估计的 xff09 标准误差 偏差和置信区间 分类 xff1a 1 参数化bootstrap 分布形式已知 xff0c 或可由样本估计出分布 xff
  • Javascript 分析Javascript事件机制和Settimeout讲解

    线程 JavaScript特点就是单线程 xff0c 理解是 xff0c 同一个时间只能做一件事 那么 xff0c 为什么JavaScript不能有多个线程呢 xff1f 现在我们假设 xff0c JavaScript同时有多个线程 xff
  • 规划人生之一: 嵌入式系统开发or算法开发

    这些天一直为一个问题所烦扰 不知道今后改把精力投入到嵌入式系统如arm dsp等的开发上还是在图像的压缩算法上 由于我们做的是嵌入式系统 在arm开发上还有嵌入式os 所以比较烦杂 而在dsp上还要进行mpeg以及264的开发 不知道那个更
  • vue中点击获取相应元素

    在vue中通过点击事件获取上一个标签 父标签 第一个子标签等元素 以下元素都是以所点击的元素进行查找 e target 获取当前点击的元素 e currentTarget 获取绑定事件的元素 e currentTarget previous
  • http-parser解析http报文详解

    说明 项目里用到力http parser xff0c 在这里简单说明一下其用法吧 下载地址 xff1a https github com joyent http parser 其使用说明很详细 开源用例 开源tcpflow 1 4 4中使用
  • BGP协议介绍

    一 BGP协议概述 BGP用于在不同的自治系统 xff08 AS xff09 之间交换路由信息 当两个AS需要交换路由信息时 xff0c 每个AS都必须指定一个运行BGP的节点 xff0c 来代表AS与其他的AS交换路由信息 通常是路由器来
  • nuxt asyncData extendRoutes nuxtServerInit

    材料来源 realworld 开源项目 asyncData 仅支持服务端 xff0c 页面初始化 xff0c 组件加载之前 xff0c 不能this调用 案例 官方 nuxt config js module span class toke
  • STM32F107的串口通讯总结

    STM32F107的串口通讯总结 STM32F107 的串口通讯总结 1 STM32 的一般规律 xff0c 首先要使用串口必先使能串口时钟 xff0c 比如串口1 xff1a RCC APB2PeriphClockCmd RCC APB2
  • STM32——高级定时器、通用定时器、基本定时器的区别

    TIM1 和 TIM8 定时器的功能包括 增强型 xff1a 16 位向上 向下 向上 下自动装载计数器 16 位可编程 可以实时修改 预分频器 xff0c 计数器时钟频率的分频系数为 1 xff5e 65535 之间的任意数值 多达 4
  • STM32F107的通用定时器中断实验总结

    1 STM32F107 的通用定时器是指 xff1a TIM2 TIM3 TIM4 TIM5 STM32F107 的高级定时器是指 xff1a TIM1 TIM8 STM32F107 的基本定时器是指 xff1a TIM6 TIM7 2 S
  • STM32F107的通用定时器PWM实验总结

    STM32F107 的通用定时器PWM 实验总结 1 STM32F107 的通用定时器是指 xff1a TIM2 TIM3 TIM4 TIM5 2 STM32F107 的通用定时器 xff08 TIM2 TIM3 TIM4 TIM5 xff
  • 鸿蒙WIFI-IoT开发板RTC时钟模块功能实现

    1 RTC时钟模块硬件准备 RTC时钟模块 RTC时钟模块在WiFiIoT套件上的连接 2 RTC时钟模块硬件介绍 RTC时钟模块使用I2C接口为I2C0 xff0c 对应管脚连接说明 xff1a SDA 底板的TX GPIO 13 SCL