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的功能。这一过程不仅加深了我们对嵌入式系统开发的理解,也提升了我们在实际项目中处理外设驱动的能力。

相关推荐
威桑35 分钟前
STM32 专有名词缩写整合
stm32·单片机·嵌入式硬件
星源~1 小时前
tree 命令集成到 Git Bash:可视化目录结构的指南
git·单片机·物联网·嵌入式·项目开发
SKYDROID云卓小助手2 小时前
无人设备遥控器之自动调整编码技术篇
人工智能·嵌入式硬件·算法·自动化·信号处理
所念皆星海9112 小时前
图灵完备之路(数电学习三分钟)----数据选择器与总线
嵌入式硬件·通信·数电
智者知已应修善业4 小时前
【51单片机节日彩灯控制器设计】2022-6-11
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
开-悟4 小时前
嵌入式编程-使用AI查找BUG的启发
c语言·人工智能·嵌入式硬件·bug
许白掰6 小时前
【stm32】HAL库开发——CubeMX配置RTC,单片机工作模式和看门狗
stm32·单片机·嵌入式硬件·学习·实时音视频
DIY机器人工房7 小时前
0.96寸OLED显示屏 江协科技学习笔记(36个知识点)
笔记·科技·stm32·单片机·嵌入式硬件·学习·江协科技
国科安芯8 小时前
【AS32系列MCU调试教程】SPI调试的常见问题解析
单片机·嵌入式硬件·性能优化·硬件架构·硬件工程
LS_learner9 小时前
同步(Synchronization)和互斥(Mutual Exclusion)关系
嵌入式硬件