3.3 计算机软件设计:
计算机软件主要包括,驱动的设计,动态连接库的设计。驱动程序采用飞利浦提供的驱动,上位机程序使用api函数并封装RS485总线的上层协议,提供给用户使用的接口。本例采用VC编写用户程序和动态连接库。从驱动中读数据的程序如下,
void readdata(unsigned char *rec)
{ unsigned char outbuf[105];
HANDLE hFile, hDevice=0;
BOOL bResult;
ULONG nBytes = 25;
hFile = open_file("PIPE02");
if(hFile == INVALID_HANDLE_VALUE)
{return;}
hDevice = open_dev();
bResult = ReadFile(hFile,outbuf,10,&nBytes,NULL);
if(bResult==FALSE)
{ DeviceIoControl(hFile,IOCTL_D12_RESET_PIPE,0,0,0,0,&nBytes,NULL); }
CloseHandle(hFile);
CloseHandle(hDevice);
}
在使用这个函数的时候,只需要添加如下说明。
extern "C" DllImport void readdata ( unsigned char * );
4 结 论
由于采用了USB总线,克服了原来使用RS232接口速度慢的瓶颈,提高了远程抄表系统的数据传输速率,该方案已经成功的得到应用,稳定可靠,有广阔的应用前景。
,USB总线在远程抄表系统中的应用