RT线程工作室:使用at24c32,RTThreadStudio,实战,AT24C32,的

发表时间:2021-05-11

目录

设计目的

建立工程

验证工程

导入组件

排除Python错误

配置I2C总线

配置I2C参数

编译验证

调用说明


设计目的

使用rtthread studio软件,实现eeprom芯片AT24C32的读写操作。

建立工程

使用rtthread studio软件,建立工程。我们使用的rtthread版本是4.02,芯片型号是STM32F103FRT6。

验证工程

工程建立之后,软件会自动生成相关代码。此时生成的工程可以直接进行编译和下载,只不过此时的代码值包含最基本的基础文件。通过点击编译按键,可以在下方的输出窗口看到编译结果。

导入组件

基本工程建立之后,我们可以添加AT24XX这个组件,从AT24C02到AT24C256,各个型号的eeprom都是可以支持的。本实验我们采用的eeprom芯片是AT24C32。

除了添加AT24XX这个组件,我们也勾选一下下图所示的“软件模拟I2C”选项。

排除Python错误

大多数用户完成上述工作后,ctr+s保持之后,rtthread studio软件的左侧就会增加一个packages文件夹,且该文件建立有我们刚刚添加是AT24CXX文件夹,这意味着组件成功被添加了。

但是对于部分用户来说(包括笔者自己),packags文件夹里没有AT24CXX这个文件夹,这是因为Python的文件不正确造成的。可以按照如下方法解决:

1、下载Python2.7版本的安装包,在C盘安装。

2、找到新安装的Phthon软件目录 C:\Python27\DLLs 下的 -ssl.pyd 文件,复制

3、将上一步复制的-ssl.pyd文件粘贴到RTthread目录下的Python2.7文件夹里,替换到原来的文件。 D:\RT-ThreadStudio\platform\env_released\env\tools\Python27\DLLs

完成上述操作后,删除AT24CXX的组件包,再重新添加、保存,即可排除这一问题。

配置I2C总线

打开board.h文件,去除BSP_USING_I2C1的注释,同时配置I2C的SCL SDA对于的引脚。作者采用的是SCL PB6 SDA PB7,读者应该根据自己硬件的情况进行此处配置。

配置I2C参数

在AT24CXX.h文件中,我们需要把eeprom的读写延时修改为1ms,eeprom的型号修改为AT24C32。此处的eeprom的型号要与实际的型号一直,否则可能无法正常进行读写操作。

编译验证

完成上述步骤后,我们打开串口终端,会看到串口终端不停打印信息,使得我们无法输入完整的控制命令,我们可在main函数中注释这一打印函数。

注释后,再次编译,下载,运行,然后安装组件包给出的测试命令,完成硬件检测,检查,读取,写入的测试。

具体的指令及其使用方法,读者可以右键组件后选择详细配置,查看开发者给出的说明文档即可。

下面是作者测试正常的截图

调用说明

测试完成后,读者可能需要建立任务调用AT24CXX中的函数进行eeprom芯片的操作,但是函数调用过程中需要注意以下几点:

1、at24cxx_read_one_byte()函数如果要调用,其参数是at24cxx_device_t类型的,是at24cxx_init()函数的返回值。我们也可以理解为读写操作函数的调用的基础是at24cxx的初始化。

2、at24cxx_device_t at24cxx_init(const char *i2c_bus_name, uint8_t AddrInput),这个函数的第一个参数是字符串类型的i2c总线的名字,类型错误的话函数无法正常执行。

2、at24cxx_read_one_byte( at24cxx_init("i2c1",0),0x0010)这是正确的调用的方法。

文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890

微配音

Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号-4
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free