RT-Thread 之AT24C02调试

一、RT-Thread Settings配置

1.打开配置界面

在这里插入图片描述

2.添加软件包

首先点开软件包里面的外围库与驱动程序,再点开AT24CXX驱动库。
在这里插入图片描述
在这里插入图片描述

二、添加与修改宏定义

第1步 在board.h打开#define BSP_USING_I2C1,并且修改对应的IO口。例如本人开发板的BSP_I2C1_SCL_PIN 为PB10,BSP_I2C1_SDA_PIN 为PB11(根据自己的硬件去进行修改)。
在这里插入图片描述
在这里插入图片描述
第2步 在 #include <at24cxx.h>修改芯片宏定义,本人开发板是at24c02(根据自己的硬件去进行修改)。

在这里插入图片描述

三、编写AT24C02用户层代码与测试

1.具体线程测试代码如下

#include <rtthread.h>
#include <rtdevice.h>
#include <at24cxx.h>
#define AT24CXX_ADDR (0xA0 >> 1)                      //A0 A1 A2 connect GND
#define I2C_NAME "i2c1"
at24cxx_device_t at24c02_dev ;
void at24c02_Config(void)
{
   
    at24c02_dev = at24cxx_init(I2C_NAME,AT24CXX_ADDR);
    if(at24c02_dev == RT_NULL)
    {
   
        rt_kprintf("at24cxx_init failed\n");
        return ;
    }
}

void at24c02_WriteData(rt_uint32_t writeAddr , rt_uint8_t *data,rt_uint32_t len)
{
   
    rt_err_t res ;
    res = at24cxx_check(at24c02_dev);
    if(res == RT_ERROR)
    {
   
        rt_kprintf("at24cxx_check error!\n");
        return ;
    }

    res = at24cxx_write(at24c02_dev, writeAddr, data, len);
    if(res == RT_ERROR)
    {
   
        rt_kprintf("at24cxx_write failed!\n");
        return ;
    }
}
void at24c02_ReadData(rt_uint32_t readAddr , rt_uint8_t *data,rt_uint32_t len)
{
   
    rt_err_t res ;
    res = at24cxx_check(at24c02_dev);
    if(res == RT_ERROR)
    {
   
        rt_kprintf("at24cxx_check error!\n");
        return ;
    }

    res = at24cxx_read(at24c02_dev, readAddr, data, len);
    if(res == RT_ERROR)
    {
   
        rt_kprintf("at24cxx_read failed!\n");
        return ;
    }
}
在main函数调用上面函数即可
//rt_uint8_t buf[10] = {'\0'};
//at24c02_Config();       //at24c02
//at24c02_WriteData(0,(rt_uint8_t *)"world",5);
//rt_thread_mdelay(2000);
//at24c02_ReadData(0,buf,5);
//rt_kprintf("buf == %s\n",buf);



2.应用层代码测试结果

通过用户层代码at24c02_WriteData(0,(rt_uint8_t *)“world”,5);将数据写入EEPROM,再通过 at24c02_ReadData(0,buf,5);将数据读出来,再通过串口将数据打印到串口助手显示,具体的结果如下图所示。
在这里插入图片描述

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2023-12-25 13:52:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-25 13:52:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-25 13:52:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-25 13:52:02       20 阅读

热门阅读

  1. go语言基础 -- 字符串及其常用函数

    2023-12-25 13:52:02       34 阅读
  2. 前端学习笔记

    2023-12-25 13:52:02       40 阅读
  3. sklearn网格搜索找寻最优参数

    2023-12-25 13:52:02       40 阅读
  4. 常用git指令

    2023-12-25 13:52:02       35 阅读
  5. 2023年底和2024年节假日及补班日期

    2023-12-25 13:52:02       95 阅读
  6. 门面设计模式

    2023-12-25 13:52:02       36 阅读
  7. Linux系统中跟TCP相关的内核参数

    2023-12-25 13:52:02       37 阅读