WCH沁恒单片机
直播中

李燕

7年用户 1547经验值
私信 关注
[问答]

CH376ByteRead函数实际长度返回值一直都是0是什么原因?

void Ch376_Test(void)
{
  uint8_t send_buf[100];
  uint16_t ThisLen;
  uint32_t file_len;
  
  CH376FileOpen("/AAA.TXT");
  file_len = CH376GetFileSize();
  
  CH376ByteRead(send_buf,100,&ThisLen);
}
依据wch的例程编写了一个测试代码,文件大小都能读,也能都固定大小的数据出来,就有一个问题,实际长度返回值一直都是0,应该一开始都是100个,最后一个小于100才对,可能是什么原因呢?


  
  

回帖(4)

王立冕

2022-7-14 11:35:52
您好,能在读取数据的时候打印一下“CH376ByteRead”函数里面的“s”吗?(如下图所示)
举报

李梓

2022-7-14 11:35:56
s的返回值0x1D,1DH USB_INT_DISK_READ 存储设备读操作,请求数据读出
举报

郭霞

2022-7-14 11:36:01
王工,应该是我编调试环境的问题,“CH376ByteRead函数,使用step into单步执行,进入函数,再回来,就能返回正确的实际长度。如果使用step over一步执行过去,得到的实际长度返回值就是0。
也不知道为什么会这样。
举报

李红梅

2022-7-14 11:36:04
CH376ReadBlock这个函数返回的值是读出的数据长度,最终返回的长度值就是多次读取s的和。可以使用串口打印,通过单片机打印返回的长度值
举报

更多回帖

发帖
×
20
完善资料,
赚取积分