首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

有人编写过PT850扫描枪吗,有有关问题请问

2012-02-13 
有人编写过PT850扫描枪吗,有问题请教首先我放上NlsRPCApi参考手册与编程指南.doc 里的一部分在UBaseIII中,

有人编写过PT850扫描枪吗,有问题请教
首先我放上
NlsRPCApi参考手册与编程指南.doc 里的一部分

在UBaseIII中,RPC作为一种设备,当在掌上机上启动RPC设备后,在PC上就可以使用RAPI对底层进行操作了。
打开RPC设备:
DEV * dev;
dev = GetDeviceByName("RPC");
if (dev == NULL) {
printf("error");
return;
}
CUDC *pDC = GetDC();
pDC->ClearDC();
pDC->TextOut(20,2,"启动RPC模块");
rpc_info rpcinfo;
rpcinfo.nPort = 1;
rpcinfo.nBaudRate = 115200;
rpcinfo.bCompress = FALSE;
dev->dev_ops->((int)&rpcinfo, 0);
while (KbdGetKey(TIMEOUT_INFINITE) != KEY_CANCEL);
dev->dev_ops->dev_close(1);
pDC->ClearDC();
pDC->TextOut(20,2,"设备已停止,任意键退出");
while(KbdGetKey(TIMEOUT_INFINITE) == 0);
另外还有一种实现方法,代码如下:
char buf[64];
rpc_info rpcinfo;
rpcinfo.nPort = 1;
rpcinfo.nBaudRate = 115200;
rpcinfo.bCompress = TRUE;
m_hRpc = OpenDevice((int)&rpcinfo, 0);
if(m_hRpc){
sprintf(buf, "RPC ( %d ) 已启动。", m_nRate);
}
else{
sprintf(buf, "启动RPC ( %d ) 失败!", m_nRate);
}
在上面的用到的一个rpc_info结构,它的定义如下:
typedef struct rpc_info{
int nPort;//端口号
int nBaudRate;//波特率
BOOL bCompress;//是否采用压缩报文
}URPCINFO, *PURPCINFO;
在NLS_041机型中,由于内存只有512K,所以应该把结构中的bCompress设为FALSE。


在他们提供的DLL里有以下函数
NLS_CloseFile
NLS_CopyFile
NLS_CopyFileEx
NLS_CopyFileExW
NLS_CopyFileW
NLS_CreateDirectory
NLS_CreateDirectoryW
NLS_CreateFile
NLS_CreateFileW
NLS_DeleteFile
NLS_DeleteFileW
NLS_FindClose
NLS_FindFirstFile
NLS_FindFirstFileW
NLS_FindNextFile
NLS_GetFileAttributes
NLS_GetFileAttributesW
NLS_GetFileSize
NLS_GetFileTime
NLS_GetStoreInformation
NLS_GetSystemInfo
NLS_GetSystemPowerStatus
NLS_GetVersion
NLS_GlobalMemoryStatus
NLS_MoveFile
NLS_MoveFileW
NLS_OpenFile
NLS_OpenFileW
NLS_RapiInit
NLS_RapiUninit
NLS_ReadFile
NLS_RemoveDirectory
NLS_RemoveDirectoryW
NLS_Ring
NLS_RingW
NLS_SetBaudrate
NLS_SetEndOfFile
NLS_SetFileAttributes
NLS_SetFileAttributesW
NLS_SetFilePointer
NLS_SetFilePosToPre
NLS_SetFileTime
NLS_WriteFile

但是我没有看到上面红色的函数,
没有这个函数似乎就打不开设备,
如果不打开设备,
那么PC和终端就不能进行通信

请我应该如何让PC和终端进行通信,我试过NLS_RapiInit,但这个函数好像是初始化串口的,因为当扫描枪关闭的时候,它也成功返回。所以我想可能是就是用OPENDEVICE这上函数来打开设备,不过DELPHI中似乎不能识别这个函数,这个函数是从什么地方来的?是不是我能成功调用后就能让PC和扫描枪通信了?

[解决办法]
是dos下吗?
[解决办法]
我来接分。
[解决办法]
UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
[解决办法]
UPUPUP
[解决办法]
哦来是正是时候呀

热点排行