Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
AT24C
模拟IIC_I2C
新手学习IIC往AT24C02写入数据失败,不知道怎么解决?
发布于 2024-06-27 21:43:06 浏览:45
订阅该版
**问题描述:** 我想向at24c02写入十六进制0x68,然后再从at24c02中读出来。 现在遇到的问题是,读出来的数据一直显示是 0x20003294,目前就是还不知道该怎么去排查问题,没有思路和头绪。 希望大佬们能够指点下思路,万分感谢。 截图及代码如下: ![端口输出截图.png](https://oss-club.rt-thread.org/uploads/20240627/2ed7faee42b69c04dcc0fd9f40cda76c.png.webp) ```c /* * 程序清单:这是一个 iic 设备使用例程 * 例程导出了 i2c_test 命令到控制终端 * 命令调用格式:i2c_test * 程序功能:向eeprom写入十六进制0x68,然后再读出来 */ #include
#include
#ifdef RT_USING_FINSH #include
#endif // RT_USING_FINSH static const char * i2c_bus_device_name = "i2c1"; static const rt_uint8_t eeprom_addr = 0x50; rt_err_t i2c_test(void) { struct rt_i2c_bus_device * i2c_device; struct rt_i2c_msg msgs[2]; rt_uint8_t buffer1[1]; rt_uint8_t buffer2[1]; i2c_device = rt_i2c_bus_device_find(i2c_bus_device_name); if(i2c_device == RT_NULL) { rt_kprintf("i2c bus device %s not found!\n", i2c_bus_device_name); return -RT_ENOSYS; } /* write '0x68' to eeprom */ buffer1[0] = 0x68; msgs[0].addr = eeprom_addr; msgs[0].flags = RT_I2C_WR; // Write to slave msgs[0].buf = buffer1; // eeprom offset msgs[0].len = 1; if (rt_i2c_transfer(i2c_device, &msgs[0], 1) == 1) { rt_kprintf("write eeprom success!\n"); }else{ rt_kprintf("write eeprom fail!\n"); return -RT_ERROR; } rt_thread_delay(rt_tick_from_millisecond(50)); /* read from eeprom */ buffer2[0]= 0x00; msgs[1].addr = eeprom_addr; //读取数据 msgs[1].flags = RT_I2C_RD; // Read from slave msgs[1].buf = buffer2; msgs[1].len = 1; if( rt_i2c_transfer(i2c_device, &msgs[1], 1) == 1 ) { rt_kprintf("read eeprom success!\n"); rt_kprintf("your number is:\n"); rt_kprintf(" 0x%02X \n ", buffer2); rt_kprintf(" \n "); return RT_EOK; }else{ rt_kprintf("read eeprom fail!\n"); return -RT_ERROR; } }MSH_CMD_EXPORT(i2c_test, i2c_test); ```
查看更多
1
个回答
默认排序
按发布时间排序
YZRD
1天前
这家伙很懒,什么也没写!
![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240628/3a57b1daa8d51b3fd950729c214e6c6b.png) 这里不对吧,改为buffer2[0]
撰写答案
登录
注册新账号
关注者
0
被浏览
45
关于作者
JDMT_1321
这家伙很懒,什么也没写!
提问
1
回答
0
被采纳
0
关注TA
发私信
相关问题
1
模拟IIC中 SCL 延时的问题
2
在RTT中增加IIC设备
3
rt-thread ov2640 模拟iic 初始化失败
4
模拟I2C使用,线程调度貌似有问题
5
RTT studio打开软件IIC加载不出来drive_iic.c文件
6
使用max30102软件包时出现线程断言错误
7
F407zgoled编译报错
8
stm32F103核心板使用IIC出现的问题
9
rt_thread IICunlock问题
10
使用sensor_lsm6dsm时,出现了传感器可以注册成功却无法读数的问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
国产MCU移植系列教程汇总,欢迎查看!
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【NXP-MCXA153】RTT PIN驱动添加
2
NXP MCXN236测评-FLASH
3
不用开发板都能跑的RT-Thread(保姆级教程)
4
RTTHREAD Doxygen 阅读
5
RT-Thread RISCV64 qemu 极简上手(不用思考就能跑起来)
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
Hardfault
CAN总线
FinSH
USB
文件系统
DMA
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
WIZnet_W5500
I2C_IIC
UART
flash
packages_软件包
cubemx
freemodbus
PWM
潘多拉开发板_Pandora
定时器
BSP
ADC
flashDB
中断
编译报错
Debug
socket
GD32
msh
keil_MDK
at_device
SFUD
ulog
C++_cpp
MicroPython
本月问答贡献
小小李sunny
3
个答案
4
次被采纳
Rb君
16
个答案
3
次被采纳
三世执戟
13
个答案
2
次被采纳
用户名由3_15位
12
个答案
2
次被采纳
xiaorui
9
个答案
2
次被采纳
本月文章贡献
andeyqi
3
篇文章
2
次点赞
Z_Y
2
篇文章
6
次点赞
Lu_盼盼
2
篇文章
1
次点赞
liYony
1
篇文章
12
次点赞
Rb君
1
篇文章
5
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部