日期:2014-05-17  浏览次数:20855 次

一条命令怎样改写?
我在程序中要控制一些外部设备,其中有一条控制命令如下所示:
kpci800.WriteByte(0, '0', (char)0x42);
把鼠标指向该命令,显示命令原型为:void Kpci800.WriteByte(int iIndex, char iAddr, char iByte)
以上命令执行的也正常,但若是发出:kpci800.WriteByte(0, '0', (char)0x80); 这样的命令时控制的结果就乱套了。我想可能是0x80的值超过了(char)的值限,溢出了,因为0x80的十进制值为128,因此像0x81、0x84、ox91之类的肯定都超过char的上限。我想请教一下:按照命令原型,若想发出0x80或更大的数值的话命令该如何改写呢?谢谢!

------解决方案--------------------
 char iByte
=>
byte  iByte