cyg_io_read返回值是0,因为读到的字节长度在参数中

len = cyg_io_read(ser_handle1, ucMasterRTURcvBuftmp, &len);//

len等于0,cyg_io_read读到的字节数在参数中的红色的len,而不是前面的len

cyg_io_read函数的说明中有:

Syntax:
Cyg_ErrNo
cyg_io_read(
 cyg_io_handle_t handle,
 void *buf,
 cyg_uint32 *len
 );
Parameters:        handle—handle to the device.
buf—pointer to the buffer to store the data.
len—pointer to the size of data to receive. When the function returns, this parameter con-
tains the actual size of data received.
Description:       Receive data from the device speci?ed by the handle parameter. If ENOERR is returned,
the write operation completed successfully. The actual number of bytes read is returned in
the len parameter.

cyg_io_read返回值是0,因为读到的字节长度在参数中

时间: 2024-11-05 13:46:38

cyg_io_read返回值是0,因为读到的字节长度在参数中的相关文章

创建一个接口Shape,其中有抽象方法area,类Circle 、Rectangle实现area方法计算其面积并返回。又有Star实现Shape的area方法,其返回值是0,Star类另有一返回值boolean型方法isStar;在main方法里创建一个Vector,根据随机数的不同向其中加入Shape的不同子类对象(如是1,生成Circle对象;如是2,生成Rectangle对象;如是3,生成S

题目补充: 创建一个接口Shape,其中有抽象方法area,类Circle .Rectangle实现area方法计算其面积并返回. 又有Star实现Shape的area方法,其返回值是0,Star类另有一返回值boolean型方法isStar: 在main方法里创建一个Vector,根据随机数的不同向其中加入Shape的不同子类对象(如是1,生成Circle对象: 如是2,生成Rectangle对象:如是3,生成Star对象).然后将Vector中元素依次取出,判断其是否为Star类.如是返回其

ASP.NET 成功执行Update 的 ExecuteNonQuery() 返回值大于0,但是查看数据库却没有改变

1 //真实姓名保存 2 $("#TrueNameSaveBtn").click(function () { 3 if ($("#TrueNameSaveText").val() != "") { 4 //上传数据 5 $.post("/Home/UpdateUserInfo", { "item": "TrueName", "data": $("#TrueN

expr判断整数是相加的值,返回命令的返回值$? 是0,但是少数情况是1,例如1 + -1 ,$? 的结果是1 ,判断要大于1最准确

[[email protected] ~]# expr 1 + 12[[email protected] ~]# echo $?0[[email protected] ~]# echo 1 - 51 - 5[[email protected] ~]# expr 1 - 5-4[[email protected] ~]# echo $?0[[email protected] ~]# expr 1 + -10[[email protected] ~]# echo $?1[[email protect

Swift2.0语言教程之函数的返回值与函数类型

Swift2.0语言教程之函数的返回值与函数类型 Swift2.0中函数的返回值 根据是否具有返回值,函数可以分为无返回值函数和有返回值函数.以下将会对这两种函数类型进行讲解. Swift2.0中具有一个返回值的函数 开发者希望在函数中返回某一数据类型的值,必须要在函数声明定义时为函数设定一个返回的数据类型,并使用return语句进行返回.其中,return语句的一般表示形式如下: return 表达式 其中,表达式可以是符合Swift标准的任意表达式.而具有返回值的函数声明定义形式如下: fu

关于while(scanf_s("%d",&x)!=0) 的逻辑错误 (scanf_s的 返回值)

背景:1.要求输入多组数据,然后输出什么东西,当第一个数输入的是0是,程序停止. 2.前几天学过 while(scanf_s("%d",&x)!=EOF) ctrl+z时停止 所以我想可以把EOF换成0,这样输 入0是就可以停止,但是事实证明我错了. 知识储备:scanf_s的返回值 : scanf("%d %d",&a,&b); 函数返回值为int型.如果a和b都被成功读入,那么scanf的返回值就是2: 如果只有a被成功读入,返回值为1:

linux recv函数返回值分析

函数原型: ssize_t recv(int sockfd, void *buf, size_t len, int flags); 该函数第一个参数制定接收端套接字描述符; 第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据; 第三个参数指明缓冲区buf的长度; 第四个参数一般置0; (标志位) recv函数返回其实际copy的字节数.如果recv在copy时出错,那么它返回SOCKET_ERROR; 如果recv函数在等待协议接收数据时网络中断了,那么它返回0; recv函数仅

关于socket阻塞与非阻塞情况下的recv、send、read、write返回值(转载)

1.阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:返回值 <0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况下认为连接是正常的,继续接收.只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要 循环读取 2.阻塞模式与非阻塞模式下writ

read的返回值结论(针对于普通文件描述符和管道或socket文件描述符情况划分)

关于read函数的返回值分析: 情况一:(读取普通文件而言) 01.阻塞情况 read函数从打开的设备或文件中读取数据. read/write  (read和write函数会读取\n换行) #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); 函数参数: n  fd:文件描述符 n  buf:读上来的数据保存在缓冲区buf中 n  count:buf缓冲区存放的最大字节数 函数返回值: n  >0:读取的字节

基于返回值的错误处理与异常处理机制

基于返回的错误处理和异常处理机制的比较 一.基于返回值的错误处理机制 对于传统的面向过程语言比如说C语言,通常使用基于返回值的错误处理机制,即通过在程序中定义程序出错时的返回值,比如说0代表操作成功,而1代表操作失败. 这种错误处理机制的好处在于有时候即使出现了异常程序或许也可以继续执行(但是最终执行结果或许不对,而这就导致查错比较困难,因为有时候仅仅通过函数返回值我们并不知道程序出错的原因究竟是什么,比如说程序操作失败返回值为0,我们在控制台上看到程序输出为0,但是除此之外没有其他额外的信息帮