ARM32开发--IIC时钟案例

知不足而奋进 望远山而前行


目录

文章目录

前言

目标

内容

需求

开发流程

移植驱动

修改I2C实现

测试功能

总结


前言

在现代嵌入式系统开发中,移植外设驱动并测试其功能是一项常见的任务。本次学习的目标是掌握移植方法和测试方法,以实现对开发板中的PCF8563实时时钟(RTC)的设置和读取功能。通过以下开发流程,我们将逐步完成移植驱动、修改I2C实现以及测试功能的过程。


目标

  1. 掌握移植方法
  2. 掌握测试方法

内容

需求

开发板中的PCF8563的RTC时钟设置和读取。

开发流程

  1. 移植驱动
  2. 修改I2C实现
  3. 测试功能
移植驱动
  1. PCF8563.hPCF8563.c拷贝到Hardwarepcf8563目录中。
  2. Hardware/pcf8563目录添加到include path
  3. keil中,将PCF8563.hPCF8563.c添加到Hardwaregroup中。
修改I2C实现
  1. 修改include

    #include "config.h"
    #include "I2C.h"

    #include "gd32f4xx.h"
    #include "I2C_soft.h"

    #ifndef u8
    #define u8 uint8_t
    #endif

    #ifndef u16
    #define u16 uint16_t
    #endif

  2. 读写操作修改

    // I2C写操作
    #define I2C_WRITE(a, r, p, n) I2C_WriteNbyte(a, r, p, n)
    // I2C读操作
    #define I2C_READ(a, r, p, n) I2C_ReadNbyte(a, r, p, n)

    // I2C写操作
    #define I2C_WRITE(a, r, p, n) I2C_soft_write(a, r, p, n)
    // I2C读操作
    #define I2C_READ(a, r, p, n) I2C_soft_read(a, r, p, n)

测试功能
  1. 初始化

    #include "SoftI2C.h"
    #include "PCF8563.h"

    SoftI2C_init();
    PCF8563_init();

  2. 设置时间

    Clock_t c;
    c.year = 2023;
    c.month = 8;
    c.day = 14;
    c.week = 5;
    c.hour = 23;
    c.minute = 59;
    c.second = 55;

    PCF8563_set_clock(c);

  3. 读取时间

    PCF8563_get_clock(&c);
    printf("%d-%d-%d %d %d:%d:%d\r\n", c.year, c.month, c.day, c.week, c.hour, c.minute, c.second);


总结

通过本次学习,我们成功地掌握了移植外设驱动和测试功能的方法。首先,我们将PCF8563驱动文件拷贝到适当的目录,并进行相关的配置和添加。接着,我们修改了I2C实现,以适配开发板的需求。最后,我们通过初始化、设置时间和读取时间等步骤,成功测试了PCF8563的功能。这一过程不仅加深了我们对嵌入式系统开发的理解,也提升了我们在实际项目中处理外设驱动的能力。

相关推荐
嵌入式杂谈39 分钟前
STM32中断编程详解:配置外部中断和中断服务例程
stm32·单片机·嵌入式硬件
光子物联单片机1 小时前
传感器模块编程实践(三)舵机+超声波模块融合DIY智能垃圾桶模型
stm32·单片机·嵌入式硬件·mcu
嵌入式杂谈4 小时前
STM32中断编程指南:NVIC和中断优先级
stm32·单片机·嵌入式硬件
xiaobuding_QAQ5 小时前
自用Proteus(8.15)常用元器件图示和功能介绍(持续更新...)
单片机·嵌入式硬件·学习·proteus
zxfly20137 小时前
STM32的DMA技术介绍
stm32·单片机·嵌入式硬件
CV金科11 小时前
蓝桥杯—STM32G431RBT6(IIC通信--EEPROM(AT24C02)存储器进行通信)
stm32·单片机·嵌入式硬件·算法·蓝桥杯
嵌入式详谈13 小时前
基于STM32的智能风扇控制系统设计
stm32·单片机·嵌入式硬件
小小怪大梦想13 小时前
RTC实时时钟
stm32·单片机·嵌入式硬件
水饺编程18 小时前
【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,1-2
linux·嵌入式硬件·fpga开发
电子科技圈18 小时前
IAR全面支持国科环宇AS32X系列RISC-V车规MCU
人工智能·嵌入式硬件·mcu·编辑器