RT-Thread Studio----STM32F107学习笔记2--添加AT24CXX软件包

1、在RT-Thread Studio中添加软件包的方式 使用I2C操作AT24C64。
2、需要配置I2C外设,则第一步需要打开board.h,找到I2C配置,如下图所示:
在这里插入图片描述
3、根据I2C Config进行相应步骤配置
3.1 打开RT-Thread Settings,找到"软件模拟I2C"配置项,对齐进行配置,如下图所示:
在这里插入图片描述
3.2 然后在"使用I2C设备驱动程序"中,勾选"使用GPIO模拟I2C",然后保存如下图所示:在这里插入图片描述
3.3 在board.h中定义使用I2C宏,以及引脚配置,此处我使用的是I2C1,所对应的引脚为PB6,PB7,引脚需要对应相应原理图确定,如下图所示:在这里插入图片描述
4、然后再打开"RT-Thread Settings",然后点击添加软件包–》搜索你需要使用I2C操作的软件包名,譬如此处我使用的的是AT24C64,软件包安装成功之后,会在左侧多出一个packages文件夹如下图所示:在这里插入图片描述
5、安装完软件包之后,就可以使用软件包提供的的函数进行操作:

#define AT24CXX_ADDR (0xA0 >> 1)                      //A0 A1 A2 connect GND
#define I2C_NAME "i2c1"
at24cxx_device_t at24c64_dev ;
void at24c64_Config(void)
{
    at24c64_dev = at24cxx_init(I2C_NAME,AT24CXX_ADDR);
    if(at24c64_dev == RT_NULL)
    {
        LOG_E("at24cxx_init failed\n");
        return ;
    }
}

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

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

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

6、使用以及运行结果
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值