<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > USB總線(xiàn)在遠程抄表系統中的應用

USB總線(xiàn)在遠程抄表系統中的應用

作者: 時(shí)間:2009-12-22 來(lái)源:網(wǎng)絡(luò ) 收藏


  在主程序中完成對系統、PDID12的初始化,以及完成對d12的枚舉,將數據的發(fā)送接收都放在中斷程序中。PDID12有3組端點(diǎn),使用默認端點(diǎn)0和端點(diǎn)2。將端點(diǎn)2作為數據傳輸的通道,當PDID12從USB收到一個(gè)數據包時(shí),就對CPU產(chǎn)生一個(gè)外部中斷請求,CPU立即相應中斷,在中斷服務(wù)子程序中,將數據包從PDIUSBD12內部緩沖區移到循環(huán)數據緩沖區中,隨后清零PDIUSBD12的內部緩沖區,對數據校驗,如果接收得數據正確,直接調用RS485數據發(fā)送子程序,將數據發(fā)送到RS485網(wǎng)絡(luò )。

  3.3 計算機軟件設計:

  計算機軟件主要包括,驅動(dòng)的設計,動(dòng)態(tài)連接庫的設計。驅動(dòng)程序采用飛利浦提供的驅動(dòng),上位機程序使用api函數并封裝RS485的上層協(xié)議,提供給用戶(hù)使用的接口。本例采用VC編寫(xiě)用戶(hù)程序和動(dòng)態(tài)連接庫。從驅動(dòng)中讀數據的程序如下,

  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);

  }

  在使用這個(gè)函數的時(shí)候,只需要添加如下說(shuō)明。

  extern C DllImport void readdata ( unsigned char * );

  4 結 論

  由于采用了USB,克服了原來(lái)使用RS232接口速度慢的瓶頸,提高了的數據傳輸速率,該方案已經(jīng)成功的得到應用,穩定可靠,有廣闊的應用前景。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>