fgh1980 发表于 2010-2-23 22:07:25

请教串口发送字符数值大小的问题?

部分代码如下:
#include <rs232.h>
#include <cvirte.h>
...

////定义字符串变量
chargp;
charzp;
....
////初始化
   gp=0x0e;
   gp=0x1c;
   ......
   gp=0x0d;
   gp=0x0a;

   zp=0x0b;
   zp=0xcd;
   .....
   zp=0x0d;
   zp=0x0a;

//////执行
      OpenComConfig (2, "", 19200, 1, 8, 1, 512, 512);
      FlushInQ(2);
      FlushOutQ(2);
      ComWrt (2, gp, 30);
      ............
      OpenComConfig (2, "", 19200, 1, 8, 1, 512, 512);
      FlushInQ(2);
      FlushOutQ(2);
      ComWrt (2, zp, 40);
.............
       END.

原来是这样是可行的。现在我想把ComWrt函数中的第三个参数(红色的30 和40)用一个变量统一,这样最后两段代码就可以用一个子函数代替了。

   我用strlen(gp) 发现得到的不是数组中元素的个数,而ComWrt()的返回值才是。
   现在的问题是如何用变量表示数组中元素的个数?

我想到的最简单的方法是:用一个最大的数作为ComWrt函数中的第三个参数,比如在本例中都写 40 ,不知行否?
   各位有什么好的方法?

小莫 发表于 2010-2-25 18:00:35

用sizeof可以得到数组所占的字节数

fgh1980 发表于 2010-3-1 12:23:43

谢谢 小莫。问题解决了。
但是 为什么在CVI的帮助中查不到sizeof()这个函数
它是属于什么样的函数类型哪?在哪儿能查到?谢谢了

胆生毛 发表于 2010-3-1 13:35:15

C中都有,不仅仅CVI独有。查不到可以找找SDK
页: [1]
查看完整版本: 请教串口发送字符数值大小的问题?