如何使用RTC实时时钟进行应用场景开发

周立功单片机 ? 2018-01-25 09:15 ? 次阅读

心博天下娱乐平台 www.syycw.cn 周立功教授新书《面向AMetal框架与接口的编程(上)》,对AMetal框架进行了详细介绍,通过阅读这本书,你可以学到高度复用的软件设计原则和面向接口编程的开发思想,聚焦自己的“核心域”,改变自己的编程思维,实现企业和个人的共同进步。

第六章为重用外设驱动代码,本文内容包含6.3 RTC 实时时钟中的后两个小节:

6.3.6 RX8025T

6.3.7 DS1302

6.3 RTC 实时时钟

>>> 6.3.6 RX8025T

在MicroPort 系列扩展模块中,除主芯片为PCF85063 的RTC 模块外,还有RX8025T模块和DS1302 模块,它们都是RTC 扩展模块,其主要区别详见表6.14。

表6.14 RTC 芯片对比

表中,“√”表示对应器件支持该功能,“×”表示对应器件不支持该功能。

1. 器件简介

RX8025T 是一款内置高稳定度的32.768KHz 的 DTCXO(数字温度补偿晶体振荡器)的I2C 总线接口方式的实时时钟芯片,它提供了时间日期的设置与获取、闹钟中断、时间更新中断、固定周期中断、温度补偿等功能。所有地址和数据通过 I2C 总线来传输,最大总线速率可达到400kbps。

RX8025T 引脚封装详见图6.6,其中的SCL 和SDA 为I2C 接口引脚,VDD 和VSS 分别为电源和地;CLKOUT 为时钟输出引脚,可用于输出时钟信号;T1(CE)、TEST、T2(Vpp)引脚仅供厂家测试使用,NC 为无需连接的引脚,实际使用时,这些引脚直接悬空即可;INT 为中断引脚,主要用于闹钟等功能;CLK_EN 为时钟输出使能引脚, 用于控制CLKOUT 时钟的输出。

图6.6 RX8025T 引脚定义

RX8025T 的7 位I2C 从机地址为0x32,模块原理图详见图6.7。若将MicroPort-RX8025T模块通过MicroPort 接口与AM824-Core 相连,则SCL 和SDA 分别与PIO0_16 和PIO0_18连接,INT 引脚与PIO0_1 连接,FOE 与PIO0_10 连接。

图6.7 RX8025T 模块电路

2. 器件初始化

在使用RX8025T 前,必须完成RX8025T 的初始化操作,以获取对应的操作句柄,进而才能使用RX8025T 的各种功能,初始化函数(am_rx8025t.h)的原型为:

该函数意在获取RX8025T 器件的实例句柄,其中,p_dev 为指向am_rx8025t_dev_t 类型实例的指针,p_devinfo 为指向am_rx8025t_devinfo_t 类型的实例信息的指针。

(1)实例

定义am_rx8025t_dev_t 类型(am_rx8025t.h)实例如下:

其中,g_rx8025t_dev 为用户自定义的实例,其地址作为p_dev 的实参传递。

(2)实例信息

实例信息主要描述了具体器件的固有信息,即RX8025T 的CLK_EN、INT 引脚与微处理器引脚的连接信息。其类型am_rx8025t_devinfo_t 的定义(am_rx8025t.h)如下:

当MicroPort-RX8025T 模块通过MicroPort 接口与AM824-Core 相连时, INT和CLK_EN和分别与PIO0_1 和PIO0_10 连接。其实例信息定义如下:

其中,g_rx8025t_devinfo 为用户自定义的实例信息,其地址作为p_devinfo 的实参传递。

(3)I2C 句柄i2c_handle

I2C1 为例,其实例初始化函数am_lpc82x_i2c1_inst_init ()的返回值将作为实参传递给i2c_handle。即:

(4)实例句柄

RX8025T 初始化函数am_rx8025t_init ()的返回值,作为实参传递给其它功能接口函数的第一个参数(handle)。am_rx8025t_handle_t 类型的定义(am_rx8025t.h)如下:

若返回值为NULL,说明初始化失败;若返回值不为NULL,说明返回值handle 有效。

基于模块化编程思想,将初始化相关的实例、实例信息等的定义存放到对应的配置文件中,通过头文件引出实例初始化函数接口,源文件和头文件的程序范例分别详见程序清单6.39 和程序清单6.40。

程序清单6.71 实例初始化函数实现(am_hwconf_rx8025t.c)

程序清单6.72 实例初始化函数声明(am_hwconf_rx8025t.h)

后续只需要使用无参数的实例初始化函数,即可获取到RX8025T 的实例句柄。即:

3. 使用RTC 功能

使用RTC 功能即使用RTC 通用接口操作RX8025T 进行时间的设置和获取,在使用RTC通用接口前,需要获取一个am_rtc_handle_t 类型的RTC 句柄。RX8025T 的驱动提供了相应的接口用于获取RX8025T 的RTC 句柄,以便用户通过RTC 通用接口操作RX8025T,其函数原型为:

该函数意在获取RTC 句柄,其中,RX8025T 实例的句柄(rx8025t_handle)作为实参传递给handle,p_rtc 为指向am_rtc_serv_t 类型实例的指针,无实例信息。定义am_rtc_serv_t类型(am_rtc.h)实例如下

其中,g_rx8025t_rtc 为用户自定义的实例,其地址作为p_rtc 的实参传递。

基于模块化编程思想,将初始化相关的实例定义存放到对应的配置文件中,通过头文件引出实例初始化函数接口,源文件和头文件分别详见程序清单6.73 和程序清单6.74。

程序清单6.73 新增RX8025T 的RTC 实例初始化函数(am_hwconf_rx8025t.c)

程序清单6.74 am_hwconf_rx8025t.h 文件内容更新(1)

后续只需要使用无参数的RTC 实例初始化函数,即可获取RTC 实例句柄。即:

获取到handle 后,由于基于RTC 通用接口编写的应用程序是可以跨平台复用的,因此可以直接基于RX8025T 启动如程序清单6.45 所示的RTC 时间显示应用程序,详见程序清单6.75。

程序清单6.75 启动RTC 应用程序(基于RX8025T)

显然,若将RTC 模块由PCF85063 更换为RX8025T,应用程序核心代码无需修改。

4. 使用闹钟功能

使用闹钟功能即使用闹钟通用接口操作RX8025T。在使用闹钟通用接口前,需要获取到一个am_alarm_clk_handle_t 类型的闹钟句柄。RX8025T 的驱动提供了相应的接口用于获取RX8025T 的闹钟句柄,便于用户通过闹钟通用接口操作RX8025T,其函数原型为:

该函数意在获取闹钟句柄,其中,RX8025T 实例的句柄(rx8025t_handle)作为实参传递给handle,p_alarm_clk 为指向am_alarm_clk_serv_t 类型实例的指针,无实例信息。定义am_alarm_clk_serv_t 类型(am_alarm_clk.h)实例如下:

其中,g_rx8025t_alarm_clk 为用户自定义的实例,其地址作为p_alarm_clk 的实参传递。

基于模块化编程思想,将初始化相关的实例定义存放到对应的配置文件中,通过头文件引出实例初始化函数接口,源文件和头文件分别详见程序清单6.76 和程序清单6.77。

程序清单6.76 新增RX8025T 的闹钟实例初始化函数(am_hwconf_rx8025t.c)

程序清单6.77 am_hwconf_rx8025t.h 文件内容更新(2)

后续只需要使用无参数的闹钟实例初始化函数,即可获取闹钟实例句柄。即:

获取到handle 后,由于基于闹钟通用接口编写的应用程序是可以跨平台复用的,因此可以直接基于RX8025T 启动如程序清单6.54 所示的闹钟测试应用程序,详见程序清单6.78。

程序清单6.78 启动闹钟测试应用程序(基于RX8025T)

显然,若将RTC 模块由PCF85063 更换为RX8025T,闹钟应用程序核心代码无需修改。

5. 为系统时间提供RTC 服务

若需要使用RX8025T 为系统时间提供RTC 服务,只需要在初始化系统时间时,将从RX8025T 中获取的RTC 句柄作为系统时间初始化函数的rtc_handle 参数。即:

为方便使用,将初始化函数的调用添加到配置文件中,通过头文件引出系统时间的实例初始化函数接口,详见程序清单6.79 和程序清单6.80。

程序清单6.79 RX8025T 用作系统时间的实例初始化(am_hwconf_rx8025t.c)

程序清单6.80 am_hwconf_rx8025t.h 文件内容更新(3)

后续只需要简单的调用该无参函数,即可完成系统时间的初始化。即:

系统时间初始化后,由于基于系统时间通用接口编写的应用程序是可以跨平台复用的,因此可以直接基于RX8025T 启动如程序清单6.65 所示的系统时间测试应用程序,详见程序清单6.81。

程序清单6.81 启动系统时间测试应用程序(基于RX8025T)

显然,若将RTC 模块由PCF85063 更换为RX8025T,使用系统时间的应用程序无需修改。

6. 特殊功能控制接口

对于RX8025T,除典型的时钟和闹钟功能外,还具有一些特殊功能,比如,定时器、时钟输出、1 字节RAM 等。这些功能由于不是通用功能,只能使用RX8025T 相应的接口进行操作。以读写1 字节RAM 为例,其相应的接口函数详见表6.15。

表6.15 读写RAM 接口函数(am_rx8025t.h)

(1)写入RAM

该函数用于写入1 字节数据到RX8025T 的RAM 中,其函数原型为:

其中,handle 为RX8025T 实例句柄,data 为写入的单字节数据。若返回AM_OK,表示数据写入成功,反之失败,写入0x55 至RAM 中的范例程序详见程序清单6.82。

程序清单6.82 写入RAM 范例程序

(2)读取RAM

该函数用于读取存于RX8025T 的单字节RAM 中的数据,其函数原型为:

其中,handle 为RX8025T 实例句柄,p_data 为输出参数,用于返回读取的单字节数据。

返回AM_OK,表示读取成功,反之失败,范例程序详见程序清单6.83。

程序清单6.83 读取RAM 范例程序

可以使用读写RAM 接口简单验证RX8025T 是否正常,详见程序清单6.84。

程序清单6.84 读写RAM 数据范例程序

若读写数据出错,则点亮LED0。由此可见,虽然该程序的逻辑与程序清单6.70 所示的应用程序基本一致,但由于使用的接口是特殊功能控制接口,与具体芯片相关,因此并不能直接像RTC 应用程序和闹钟应用程序那样直接跨平台复用。

>>> 6.3.7 DS1302

1. 器件简介

DS1302 是一款涓流充电计时芯片,它包含一个实时时钟和31 字节的静态 RAM,能够提供年、月、日、时、分、秒等信息,具有闰年校正功能。

DS1302 被设计工作在非常低的电能下,在低于1μW 时还能保持数据和时钟信息。除了基本计时功能以外,DS1302 还具有其它一些特点,比如,双管脚主电源和备用电源,可编程涓流充电器VCC1。

DS1302 通过简单的串行接口与微处理器通讯,使用同步串行通讯简化了 DS1302 与微处理器的接口,通讯只需要三根线:CE、I/O(数据线)、SCLK(串行时钟)。DS1302 的引脚封装图详见图6.8。

图6.8 DS1302 引脚定义

其中,X1 和X2 为外接晶振的引脚,需要连接标准的32.768kHz 的石英晶体。SCLK、CE、I/O 为与微处理器的串行通信引脚。GND 为电源地,VCC1 和VCC2为电源引脚,这也是DS1302 具有特色的地方,即:双管脚主电源和备用电源,在双管脚中,VCC2 是主电源,VCC1 是备用电源,一般接充电电池。DS1302 是由VCC1 或VCC2 两者中的较大者供电。当VCC2 大于VCC1+0.2V,VCC2 给芯片供电。当VCC2 小于VCC1 时,芯片由VCC1 供电。当芯片由VCC2 供电时,VCC1 不供电,同时,还可以通过可编程涓流充电器,使VCC2 向VCC1 流入很小的电流,以便为连接到VCC1 的电池充电。当然,VCC1可以不接可充电电池,此时,只需要通过控制可编程涓流充电器,使VCC2 不向VCC1 流入电流即可。

DS1032 模块的原理图详见图6.9,若将MicroPort-DS1302 模块通过MicroPort 接口AM824-Core 相连,则SCLK、I/O 和CE 分别与PIO0_15、PIO0_13 和PIO0_14 连接。

图6.9 DS1302 模块电路

2. 器件初始化

在使用DS1302 前,必须完成DS1302 的初始化操作,以获取对应的操作句柄,进而才能使用DS1302 的各种功能,初始化函数的原型(am_ds1302.h)为:

该函数意在获取DS1302 器件的实例句柄,其中,p_dev 为指向am_ds1302_gpio_dev_t类型实例的指针,p_devinfo 为指向am_ds1302_gpio_devinfo_t 类型的实例信息的指针。

(1)实例

定义am_ds1302_gpio_dev_t 类型(am_ds1302.h)实例如下:

其中,g_ds1302_gpio_dev 为用户自定义的实例,其地址作为p_dev 的实参传递。

(2)实例信息

实例信息主要描述了具体器件的固有信息,即DS1302 的SCLK、I/O、CE 引脚与微处理器引脚的连接信息。其类型am_ds1302_gpio_devinfo_t 的定义(am_ds1302.h)如下:

当MicroPort-DS1302 模块通过MicroPort 接口与AM824-Core 相连时, SCLK、I/O 和CE 分别与PIO0_15、PIO0_13 和PIO0_14 连接。其实例信息定义如下:

其中,g_ds1302_gpio_devinfo 为用户自定义的实例信息,其地址作为p_devinfo 的实参传递。

(3)实例句柄

DS1302 的初始化函数am_ds1302_gpio_init()的返回值,作为实参传递给其它功能接口函数的第一个参数(handle)。am_ds1302_handle_t 类型的定义(am_ds1302.h)如下:

若返回值为NULL,说明初始化失败;若返回值不为NULL,说明返回值handle 有效。

基于模块化编程思想,将初始化相关的实例、实例信息等的定义存放到对应的配置文件中,通过头文件引出实例初始化函数接口,源文件和头文件的程序范例分别详见程序清单6.85 和程序清单6.86。

程序清单6.85 实例初始化函数实现(am_hwconf_ds1302.c)

程序清单6.86 实例初始化函数声明(am_hwconf_ds1302.h)

后续只需要使用无参数的实例初始化函数,即可获取到DS1302 的实例句柄。即:

3. 使用RTC 功能

使用RTC 功能即可使用RTC 通用接口操作DS1302 设置和获取时间,在使用RTC 通用接口前,需要获取一个am_rtc_handle_t 类型的RTC 句柄。DS1302 的驱动提供了相应的接口用于获取DS1302 的RTC 句柄,便于用户通过RTC 通用接口操作DS1302,其函数原型为:

该函数意在获取RTC 句柄,其中,DS1302 实例的句柄(ds1302_handle)作为实参传递给handle,p_rtc 为指向am_rtc_serv_t 类型实例的指针,无实例信息。定义am_rtc_serv_t 类型(am_rtc.h)实例如下:

其中,g_ds1302_rtc 为用户自定义的实例,其地址作为p_rtc 的实参传递。

基于模块化编程思想,将初始化相关的实例定义存放到对应的配置文件中,通过头文件引出实例初始化函数接口,源文件和头文件分别详见程序清单6.87 和程序清单6.88。

程序清单6.87 新增DS1302 的RTC 实例初始化函数(am_hwconf_ds1302.c)

程序清单6.88 am_hwconf_ds1302.h 文件内容更新(1)

后续只需要使用无参数的RTC 实例初始化函数,即可获取RTC 实例句柄。即:

获取handle 后,由于基于RTC 通用接口编写的应用程序是可以跨平台复用的,因此可以直接基于DS1302 启动如程序清单6.45 所示的RTC 时间显示应用程序。

程序清单6.89 启动RTC 应用程序(基于DS1302)

由此可见,若将RTC 模块由PCF85063 更换为DS1302,则应用程序核心代码无需修改。

4. 为系统时间提供RTC 服务

由于DS1302 不支持闹钟功能,因此不能使用通用闹钟接口操作DS1302。若需要使用DS1302 为系统时间提供RTC 服务,只需要在初始化系统时间时,将从 DS1302 中获取的RTC 句柄作为系统时间初始化函数的rtc_handle 参数。即:

为方便使用特将初始化函数的调用添加到配置文件中,通过头文件引出系统时间的实例初始化函数接口,详见程序清单6.90 和程序清单6.91。

程序清单6.90 DS1302 用作系统时间的实例初始化(am_hwconf_ds1302.c)

程序清单6.91 am_hwconf_ds1302.h 文件内容更新(2)

后续只需要简单的调用该无参函数,即可完成系统时间的初始化。即:

系统时间初始化后,由于基于系统时间通用接口编写的应用程序是可重用的,因此可以直接基于DS1302 启动如程序清单6.65 所示的系统时间测试应用程序,详见程序清单6.92。

程序清单6.92 启动系统时间测试应用程序(基于DS1302)

显然,若将RTC 模块由PCF85063 更换为DS1302,使用系统时间的应用程序无需修改。

5. 特殊功能控制接口

除典型的实时时钟功能外,DS1302 还具有一些特殊功能,比如,涓流充电功能、31 字节RAM 等。这些功能由于不是通用功能,只能使用DS1302 相应的接口操作。以读写RAM和涓流充电功能为例,其相应的接口函数详见表6.16。

表6.16 DS1302 特殊功能控制接口(am_ds1302.h)

(1)写入RAM

该函数用于写入数据到DS1302 的RAM 中(最多可写入31 字节数据),其函数原型为:

其中,handle 为DS1302 实例句柄,p_data 指向待写入数据的首地址,data_len 指定写入数据的字节数,最大为31 字节,pos 指定了写入RAM 的起始地址,DS1302 的RAM 空间大小为31 字节,对应的地址为0 ~ 30,pos 的有效范围即为0 ~ 30。若返回AM_OK,表示数据写入成功,反之失败,写入31 字节数据至RAM 中的范例程序详见程序清单6.93。

程序清单6.93 写入RAM 范例程序

(2)读取RAM

该函数用于读取存于DS1302 的 RAM 中的数据,其函数原型为:

其中,handle 为DS1302 实例句柄,p_data 为输出参数,用于返回读取的数据,data_len表示读取数据的字节数,pos 表示读取数据的起始地址(0 ~ 30)。若返回AM_OK,表示读取成功,反之失败,范例程序详见程序清单6.94。

程序清单6.94 读取RAM 范例程序

可以使用读写RAM 接口简单验证DS1302 是否正常,详见程序清单6.95。

程序清单6.95 读写RAM 数据范例程序

(3)使能涓流充电

DS1302 具有双电源供电,当芯片由VCC2 供电时,可以通过可编程涓流充电器,使VCC2向VCC1 流入很小的电流,以便为连接到VCC1 的电池充电。使能涓流充电的函数原型为:

其中,handle 为DS1302 实例句柄,set_val 为可编程涓流充电器的控制参数,可以控制充电的电流。充电电路的示意图详见图6.10。

图6.10 DS1302 充电电路示意图

当总开关打开后,充电电流的大小是由选择的二极管个数(1 个或2 个)和电阻阻值(2KΩ、4KΩ 或8KΩ)决定的。二极管的个数决定了电压的压降,电流的计算公式为:

set_val 可用的值已经使用宏进行了定义,详见表6.17实际使用时,应该根据需要的电流大小选择其中一个宏作为set_val 的值。

表6.17 充电电路设置标志

比如,若选择1 个二极管、2K电阻,则应该将set_val 的值设置为:

AM_DS1302_TRICKLE_1D_2K

由于在MicroPort-DS1302 中,VCC2 的值为3.3V,因此此时的实际电流计算公式为:

当VCC1 为0 时(电池电量完全耗尽)时,则电流达到最大值,其值为:

这就要求电池支持的最大充电电流为1.3mA。实际中,随着对电池的充电,电池电量增加,VCC1 会逐渐增加,充电电流也随之逐渐减小。范例程序详见程序清单6.96。

程序清单6.96 使能涓流充电范例程序

(3)禁能涓流充电

当不需要充电时,如使用的非充电电池,可以使用该接口禁能涓流充电,其函数原型为:

其中,handle 为DS1302 实例句柄,范例程序详见程序清单6.97。

程序清单6.97 禁能涓流充电范例程序

周立功单片机 技术专区

原文标题:周立功:重用外设驱动代码—— RTC 实时时钟(2)

文章出处:【微信号:Zlgmcu7890,微信公众号:周立功单片机】欢迎添加关注!文章转载请注明出处。

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

【求助帖】DS1302读出数据始终为零

发表于 03-28 10:05 ? 161次阅读
【求助帖】DS1302读出数据始终为零

滤芯防伪技术,可以分布式读取8处防伪标签

空气净化器、净水器市场发展迅猛,很多品牌商都抢占到了自己的份额。但在实际使用过程中却发现很多用户长期....

的头像 周立功单片机 发表于 03-28 08:29 ? 652次阅读
滤芯防伪技术,可以分布式读取8处防伪标签

一款跨界核心板,让物联网设计如MCU系统便捷

M1052跨界核心板让设计者如开发普通MCU系统般简便,却拥有528MHz主频处理器的“不凡”性能。

的头像 ZLG致远电子 发表于 03-23 08:29 ? 1823次阅读
一款跨界核心板,让物联网设计如MCU系统便捷

【零基础学习STM32】第十讲:RTC实时时钟实验——显示日期和时间

发表于 03-22 11:22 ? 568次阅读
【零基础学习STM32】第十讲:RTC实时时钟实验——显示日期和时间

ds1302无法超过80年

发表于 03-20 09:39 ? 157次阅读
ds1302无法超过80年

基于DS1302的可调时钟程序设计

读操作函数要完成的功能便是传入一个一字节表示特定的地址,函数返回该地址RAM中一字节或多字节的数据。

发表于 03-19 13:01 ? 129次阅读
基于DS1302的可调时钟程序设计

周立功现身说法:谈工程师如何克服职业痛点培养对市场的前瞻性

为什么很多工程师创业失败?其根本原因不是资金,而是因为不了解市场,对市场缺乏一定前瞻性的认识,做出来....

的头像 工程师人生 发表于 03-14 10:53 ? 275次阅读
周立功现身说法:谈工程师如何克服职业痛点培养对市场的前瞻性

ZLG携手NXP举行i.MX RT 跨界处理器全国巡回研讨会

2018年3月20号—4月3号,ZLG将携手NXP在全国6大城市(广州、深圳、上海、杭州、南京、北京....

的头像 ZLG致远电子 发表于 03-09 15:24 ? 805次阅读
ZLG携手NXP举行i.MX RT 跨界处理器全国巡回研讨会

MCU+MPU双处理器架构在电力馈线终端中应用

目前市面上大多电力FTU产品均采用MCU+MPU双处理器架构,以利用MCU的实时性和MPU上运行的稳....

的头像 周立功单片机 发表于 03-05 08:41 ? 1341次阅读
MCU+MPU双处理器架构在电力馈线终端中应用

工业通讯现场,为何最担心浪涌产生的瞬态过压和过流!

各位工程师在工业通讯现场,最担心的是通讯网络因浪涌产生的瞬态过压和过流,导致总线通讯网络出现发送错误....

的头像 周立功单片机 发表于 02-28 08:42 ? 1253次阅读
工业通讯现场,为何最担心浪涌产生的瞬态过压和过流!

MSP430F149的DS1302读取字节函数问题?

发表于 02-25 10:04 ? 326次阅读
MSP430F149的DS1302读取字节函数问题?

智能门锁的贴心管家:内置32.768kHz晶振的RTC

实 时时钟RTC(Real_Time Clock)在智能锁应用中扮演了一个比较重要的管家角色,开门、....

发表于 02-13 11:09 ? 91次阅读
智能门锁的贴心管家:内置32.768kHz晶振的RTC

万年历=GPS校时+温湿度+RTC+人体及声音检测+LC12S无线

发表于 02-10 17:55 ? 1177次阅读
万年历=GPS校时+温湿度+RTC+人体及声音检测+LC12S无线

组建RS-485总线网络时,终端电阻实战案例

RS-485总线具有结构简单、成本低等优点,但各位工程师在组建RS-485总线网络时,为提升整个网络....

的头像 周立功单片机 发表于 02-08 09:51 ? 2355次阅读
组建RS-485总线网络时,终端电阻实战案例

关于实时时钟模块DS1302的介绍

DS1302实时时钟芯片广泛应用于电话、传真、便携式仪器等产品领域,它可以对年、月、日、周、时、分、....

发表于 01-30 16:03 ? 409次阅读
关于实时时钟模块DS1302的介绍

RTC的时间显示实验

发表于 01-25 10:28 ? 204次阅读
RTC的时间显示实验

13.56MHz读写卡模块通信接口及选型指南

论选择I2C 或UART 通信方式,只要基于实例句柄编程,则应用程序与具体的通信方式无关。

的头像 周立功单片机 发表于 01-25 09:09 ? 2233次阅读
13.56MHz读写卡模块通信接口及选型指南

ATMEL SAM-4S Xplained之RTC实时时钟程序

发表于 01-24 17:12 ? 202次阅读
ATMEL SAM-4S Xplained之RTC实时时钟程序

键盘与数码管接口典型应用电路及寄存器

当矩阵扩大到一定数目时,逐行扫描的方法会显得费时,如果需要对2 个以上的按键“同时”操作时,则处理起....

的头像 周立功单片机 发表于 01-22 09:27 ? 2174次阅读
键盘与数码管接口典型应用电路及寄存器

如何理解软件设计原则和面向接口编程的开发思想

面向通用接口的编程,虽然面向接口的编程简单易懂,但无法做到最大程度上地重用应用程序,这是导致软件开发....

的头像 周立功单片机 发表于 01-22 09:11 ? 2789次阅读
如何理解软件设计原则和面向接口编程的开发思想

设计一个处理工资单数据包,继承与多态不可忽略!

虽然各种排序的实现不一样,但它们的共性都是“排序”,这就是抽象的基础。

的头像 周立功单片机 发表于 01-19 10:18 ? 2950次阅读
设计一个处理工资单数据包,继承与多态不可忽略!

温度传感器通用接口应用案例分析

对AMetal框架进行了详细介绍,通过阅读这本书,你可以学到高度复用的软件设计原则和面向接口编程的开....

的头像 周立功单片机 发表于 01-19 10:14 ? 3738次阅读
温度传感器通用接口应用案例分析

数码管与矩阵键盘联合应用设计

AMetal 提供了数码管和矩阵键盘联合使用的驱动,其本质上就是数码管驱动和矩阵键盘驱动的简单整合,....

的头像 周立功单片机 发表于 01-19 09:31 ? 2395次阅读
数码管与矩阵键盘联合应用设计

在LED通用接口的设计中,HC595主要作用

当前接口中的am_hc595_handle_t 类型为void *类型,最终,其需要是指向对象的指针....

的头像 周立功单片机 发表于 01-17 08:34 ? 2757次阅读
在LED通用接口的设计中,HC595主要作用

深入理解AMetal,掌握蜂鸣器和温度采集接口设计

在接口实现中,没有与硬件相关的实现代码,仅仅是简单的调用了抽象方法。抽象方法需要由具体的温度采集设备....

的头像 周立功单片机 发表于 01-17 08:29 ? 2839次阅读
深入理解AMetal,掌握蜂鸣器和温度采集接口设计

通用数码管与面向通用接口编程设计

数码管的各个段可以组合显示出多种图形,使用该函数可以自定义字符的解码函数

的头像 周立功单片机 发表于 01-10 09:13 ? 2725次阅读
通用数码管与面向通用接口编程设计

labview上位机,周立功USBCAN1卡,传输指令给电机驱动器

发表于 01-07 13:00 ? 447次阅读
labview上位机,周立功USBCAN1卡,传输指令给电机驱动器

DS1302关于数据读取的问题

发表于 01-05 14:30 ? 469次阅读
DS1302关于数据读取的问题

对DS1302芯片的一些理解和学习心得

刚刚到公司报道,工作还比较闲,晚上或周末就有时间学点电路什么的,就又把DS1302翻了出来。这期间买....

的头像 单片机 发表于 12-27 14:47 ? 1544次阅读
对DS1302芯片的一些理解和学习心得

RTC实时时钟重用外设驱动代码

本节将以PCF85063 为例,详细介绍RTC 通用接口,闹钟通用接口等。在本节的最后两小节,将介绍....

的头像 周立功单片机 发表于 12-22 14:49 ? 750次阅读
RTC实时时钟重用外设驱动代码

二维数组作为函数参数传递在实际中的应用

由于表达式中的数组名data可以被解释为指针,即data的类型为指向int [2]的指针类型int ....

的头像 ZLG致远电子 发表于 12-20 07:19 ? 1778次阅读
二维数组作为函数参数传递在实际中的应用

Zigbee/蓝牙无线模块设计,那些难点知道多少?

为了便于快速开发,在AW824P2EF 内部已经将LPC824 的串口1与内置的zigbee 芯片的....

的头像 ZLG致远电子 发表于 12-20 07:04 ? 2166次阅读
Zigbee/蓝牙无线模块设计,那些难点知道多少?

EEPROM存储器外设及驱动代码应用设计

ZLG 为用户提供了大量标准的外设驱动与相关的协议组件,意在建立完整的生态系统。无论你选择什么MCU....

的头像 周立功单片机 发表于 12-20 06:28 ? 4195次阅读
EEPROM存储器外设及驱动代码应用设计

求助,求发一份ds1302的汇编程序

发表于 12-19 08:27 ? 402次阅读
求助,求发一份ds1302的汇编程序

开发者在的很多管理者,需了解平台产品开发战略

在2017年9月5日深圳举行的“‘名家芯思维’之2017年物联网核心技术和应用国际研讨会”上,周立功....

的头像 ZLG致远电子 发表于 12-13 07:14 ? 2934次阅读
开发者在的很多管理者,需了解平台产品开发战略

周立功:深入浅出AMetal谈SPI总线和IIC 总线

在使用SPI 通用接口前,必须先完成SPI 的初始化,以获取标准的SPI 实例句柄。LPC82x支持....

的头像 周立功单片机 发表于 12-13 06:27 ? 3739次阅读
周立功:深入浅出AMetal谈SPI总线和IIC 总线

周立功:改变观念及思维很重要!

物联网作为我国战略性新兴产业的重要组成部分,在加快经济发展、促进产业转型升级、服务社会民生方面正发挥....

的头像 Duke 发表于 12-11 11:47 ? 3398次阅读
周立功:改变观念及思维很重要!

周立功受电子发烧友邀请,参加2017第四届中国IoT大会

第四届中国物联网大会将于2017年12月6日在深圳召开,ZLG集团创始人周立功教授及ZLG致远电子工....

的头像 ZLG致远电子 发表于 12-06 06:39 ? 2996次阅读
周立功受电子发烧友邀请,参加2017第四届中国IoT大会

如何解决zigbee&BLE 模块最大的不足

。虽然大多数开发者都很勤奋,但其奋斗目标不是企业和个人收益最大化,而是以学习与MCU和zigbee&....

的头像 ZLG致远电子 发表于 12-06 06:30 ? 2560次阅读
如何解决zigbee&BLE 模块最大的不足

全方位详解PC端和移动端的H5抓娃娃

JSMpeg 是用 JavaScript 实现的视频播放器,它包括一个 MPEG 分离器,MPEG1....

的头像 声网Agora 发表于 11-29 09:52 ? 1228次阅读
全方位详解PC端和移动端的H5抓娃娃

如何才能更好实现CAN模块之间数据传输

逻辑链接控制子层(LLC)、介质访问控制子层(MAC)、物理编码子层(PCS)。其中LLC包括接受过....

的头像 ZLG致远电子 发表于 11-29 06:25 ? 4033次阅读
如何才能更好实现CAN模块之间数据传输

深入了解AMetal框架,通用按键接口不可忽视

虽然使用单一的回调机制可以实现按键管理,但是,却使得按键检测模块的职责变得不单一,其不仅要处理与硬件....

的头像 ZLG致远电子 发表于 11-29 06:21 ? 3600次阅读
深入了解AMetal框架,通用按键接口不可忽视

事件驱动和键盘管理设计案例分析

在这种情况下,应尽可能地将相应功能设计为异步模式,即启动软件定时器,设定蜂鸣器鸣叫时间,打开蜂鸣器,....

的头像 ZLG致远电子 发表于 11-20 09:02 ? 1389次阅读
事件驱动和键盘管理设计案例分析

噪声和图像信号A/D 转换器深入解读

《面向AMetal框架与接口的编程(上)》一书对AMetal框架进行了详细介绍,通过阅读这本书,你可....

的头像 ZLG致远电子 发表于 11-20 08:54 ? 3578次阅读
噪声和图像信号A/D 转换器深入解读

ds1302读取数据问题分析及解决

DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、....

发表于 11-19 16:54 ? 517次阅读
ds1302读取数据问题分析及解决

无源蜂鸣器作为一种板载资源,该如何使用?

若用户不需要使用蜂鸣器,为了节省内存空间,可以将工程配置文件中的AM_CFG_BUZZER_ENAB....

的头像 ZLG致远电子 发表于 11-15 05:50 ? 3645次阅读
无源蜂鸣器作为一种板载资源,该如何使用?

面向AMetal框架RTC实时时钟应用实战

在MicroPort 系列扩展模块中,除主芯片为PCF85063 的RTC 模块外,还有RX8025....

的头像 ZLG致远电子 发表于 11-13 09:03 ? 1404次阅读
面向AMetal框架RTC实时时钟应用实战

ds1302电路图详解

DS1302是一种高性能23621、低功耗、带RAM的实时时钟电路TDA2507T,它可以对年、月、....

发表于 11-07 09:52 ? 779次阅读
ds1302电路图详解

面向对象编程——虚函数

周立功教授数年之心血之作《程序设计与数据结构》以及《面向AMetal框架与接口的编程(上)》,电子版....

的头像 ZLG致远电子 发表于 10-20 11:52 ? 2989次阅读
面向对象编程——虚函数

DS1302中文资料,DS1302读写操作代码奉上

 DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,....

发表于 10-20 09:20 ? 1258次阅读
DS1302中文资料,DS1302读写操作代码奉上

ds1302怎么区分24小时制,DS1302的12/24小时制转换程序

 因为DS1302的接口简单、价格低廉、使用方便,也随着流行的串行时钟电路增多大家对它的兴趣增加不少....

发表于 10-19 19:34 ? 352次阅读
ds1302怎么区分24小时制,DS1302的12/24小时制转换程序

ds1302时钟芯片初始化,自动决定DS1302是否需要初始化程序

ds1302芯片时钟芯片大家都在问到底需要不需要初始化?这篇文章将会给大家一个程序,可以自动决定DS....

发表于 10-19 19:19 ? 454次阅读
ds1302时钟芯片初始化,自动决定DS1302是否需要初始化程序

基于52单片机与ds1302时钟芯片的电子闹钟C程序

52单片机是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash....

发表于 10-19 17:56 ? 603次阅读
基于52单片机与ds1302时钟芯片的电子闹钟C程序

ds1302初始化程序,十分详细的初始化程序奉上

 随着串行时钟电路的流行,越来越多的人知道了四种芯片。那么最常用的就是DS1302这款四种芯片了。它....

发表于 10-19 17:20 ? 641次阅读
ds1302初始化程序,十分详细的初始化程序奉上

DS1302讲解篇,DS1302全面解析

时钟芯片DS1302 DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/....

发表于 10-19 16:49 ? 987次阅读
DS1302讲解篇,DS1302全面解析

基于ds1302的定时器,DS1302定时器的优势

我们知道DS1302是时钟芯片,竟然是时钟芯片它肯定还可以用作一般意义上的定时器(定时时间以秒为单位....

发表于 10-19 16:08 ? 354次阅读
基于ds1302的定时器,DS1302定时器的优势

ds1302引脚图,ds1302引脚图功能详解

DS1302是时钟芯片,有计时的作用,和日常接触的电子表差不多,可以对年月日、时分秒、星期计时。可以....

发表于 10-19 15:39 ? 1130次阅读
ds1302引脚图,ds1302引脚图功能详解

ds1302封装图,ds1302封装信息详解

DS1302是一款高性能、低功耗、带RAM的实时时钟芯片。它可以对年、月、日、周、日、时、分、秒进行....

发表于 10-19 15:15 ? 720次阅读
ds1302封装图,ds1302封装信息详解

ds1302是什么接口,DS1302时钟芯片接口分析详解

DS1302是达拉斯公司出品的一款实时时钟芯片。主要是针对年、月、日、周、时、分、秒进行计时,且具有....

发表于 10-19 14:34 ? 597次阅读
ds1302是什么接口,DS1302时钟芯片接口分析详解

基于ds1302的数码管时钟程序,显示时分秒

这篇文章是时钟芯片DS1302在数码管上显示数字电子钟,并能通过按键对其进行调时和校准。DS1302....

发表于 10-19 14:08 ? 540次阅读
基于ds1302的数码管时钟程序,显示时分秒