野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9774|回复: 0

IIC_EEPROM I2C_EE_BufferWrite 问题

[复制链接]

发表于 2021-12-18 14:58:13 | 显示全部楼层 |阅读模式
本帖最后由 fxliuqq 于 2021-12-18 14:58 编辑

野火I2C实验 I2C_EE_BufferWrite这个函数在处理Addr != 0; NumOfPage == 0这一个有问题吧,这里直接就用I2C_EE_PageWrite(pBuffer, WriteAddr, NumOfSingle);少了一种情况,在SPI 的SPI_FLASH_BufferWrite函数中就处理了.建议while (HAL_I2C_IsDeviceReady(&I2C_Handle, EEPROM_ADDRESS, EEPROM_MAX_TRIALS, I2Cx_TIMEOUT_MAX) == HAL_TIMEOUT)改为while (HAL_I2C_IsDeviceReady(&I2C_Handle, EEPROM_ADDRESS, EEPROM_MAX_TRIALS, I2Cx_TIMEOUT_MAX) != HAL_OK); 我用的STM32L0这个函数就没有返回值HAL_TIMEOUT。HAL_I2C_Mem_Write等函数size大小也被限制为MAX_NBYTE_SIZE(255),我现在用2M的EEPROM,页大小256,也得用128,真坑。地址最高2位是不是就放在设备地址那里,用HAL_I2C_IsDeviceReady设备地址是不是也包括内存地址的高2位?
2.jpg
1.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 06:39 , Processed in 0.036471 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表