在线时间74 小时
UID3701062
注册时间2021-2-3
NXP金币8
该用户从未签到
高级会员
- 积分
- 529
- 最后登录
- 2024-3-12
|
本帖最后由 wx提线木偶 于 2021-3-5 16:03 编辑
SDK: 2.3.1
rt1052 通过i2c 读写测试FM24CL64 时发现,一次读取超过256个字节会卡死,写数据倒不会,查看fm24cl64文档似乎没有读取字节限制。
- int fm24cl64_page_read(uint8_t client_addr_7bit,
- uint16_t read_addr,
- uint8_t* read_buf,
- uint16_t num_byte_to_read)
- {
- lpi2c_master_transfer_t masterXfer = {0};
- status_t reVal = kStatus_Fail;
-
- masterXfer.slaveAddress = client_addr_7bit;
- masterXfer.direction = kLPI2C_Read;
- masterXfer.subaddress = read_addr;
- masterXfer.subaddressSize = 2;
- masterXfer.data = read_buf;
- masterXfer.dataSize = num_byte_to_read;
- masterXfer.flags = kLPI2C_TransferDefaultFlag;
- uint8_t try_num = 1;
- while(try_num--)
- {
- reVal = LPI2C_MasterTransferBlocking(FM24CL64_I2C_MASTER, &masterXfer);
- if (reVal != kStatus_Success)
- {
- printf("IIC 读数据失败\r\n");
- // Delay_ms(3);
- }
- else
- {
- printf("IIC 读数据成功\r\n");
- return 0;
- }
- }
- return 1;
- }
复制代码 请教大家?
|
|