国产性一乱一性一伧的解决方法,国产一区影视,日韩欧美国产亚洲,日韩av在线播放不卡,国产69精品久久久久孕妇大杂乱 ,亚洲国产一,97国产精品视频,波多野结无码高清中文
君億道科技聯系電話:0755-26830682

公司新聞

最全面及時的公司資訊、企業動態

如何為正交編碼器輸入配置USB-QUAD08通道

來源君億道

下面的示例程序演示了(使用C ++)如何為正交編碼器輸入配置USB-QUAD08通道。關鍵是將cbCConfigScan Mode參數設置為 ENCODER | ENCODER_MODE_X1 | ENCODER_MODE_BIT_32(對于X1模式)。您還必須 在cbCInScan功能的“選項”中指定CTR32BIT。例如, 連續運行的Background | CONTINUOUS | CTR32BIT。

 

它還演示了無需用戶運行InstaCal的設備發現。必須仍然安裝InstaCal,因為這樣做會安裝設備驅動程序。在本文的底部,您將找到一個包含Visual Studio 2008項目的Zip文件。

 

// VC_2008_USB_QUAD08_Encoder.cpp:定義控制臺應用程序的入口點。

//

#include“ stdafx.h”

 

 

/ *包含文件* /

#include <windows.h>

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include“ cbw.h”

 

#定義RATE 100

#定義ChanCount 1

#定義COUNT

#定義MAXNUMDEVS 100

 

無效main()

   {

   / *變量聲明* /

   int i = 0;

   long curCount = 0;

   long curIndex = 0;

 

   int ULStat = 0;

 

   長率= RATE

   簡短狀態;

   long halfbuf = COUNT / 2;

   bool NextReadUpper = false;

 

 

   int numberOfDevices = MAXNUMDEVS;

   DaqDeviceDescriptor廣告資源[MAXNUMDEVS]

   DaqDeviceDescriptor DeviceDescriptor;

 

   int BoardNum = -1;

 

   浮動Rev =floatCURRENTREVNUM;

   ULStat = cbDeclareRevision(&Rev;

   cbErrHandlingPRINTALLSTOPALL;

 

   printf背景模式下的cbConfigScan()的演示\ n \ n”);

 

       //忽略InstaCal設備發現

       cbIgnoreInstaCal();

 

       //找到USB設備

       ULStat = cbGetDaqDeviceInventoryUSB_IFC,庫存,&numberOfDevices;

       fori = 0; i <numberOfDevices; i ++

              {

                     DeviceDescriptor =清單[i]

 

                     // USB-QUAD08的產品ID = 0xCA  

                     //產品ID可以在位于以下位置的ULProps.txt中找到

                     // C\ Program Filesx86\ Measurement Computing \ DAQ

                     ifDeviceDescriptor.ProductID == 0xCA

                     {

                            BoardNum = i;

                            ULStat = cbCreateDaqDeviceBoardNumDeviceDescriptor;

                            printf設備名稱:%s \ n”DeviceDescriptor.ProductName);

                            打破;

                     }

                    

              }

 

   如果(BoardNum <0

   {

          printf找不到USB設備...按任意鍵退出\ n”);

          getch();

          返回;

   }

 

 

   //分配緩沖區

   HANDLE MemHandle = 0;

   MemHandle = cbWinBufAlloc32COUNT;

   無符號長* DataArray =(無符號長*MemHandle;

 

 

   ULStat = cbCConfigScanBoardNum

                                             0

                                             ENCODER | ENCODER_MODE_X1 | ENCODER_MODE_BIT_32

                                             CTR_DEBOUNCE500ns

                                             CTR_TRIGGER_AFTER_STABLE

                                             CTR_RISING_EDGE

                                             CTR_TICK208PT3ns

                                             0;

   ifULStat= 0

              printf錯誤代碼%d \ n”ULStat;

      

   unsigned int選項=背景|連續| CTR32BIT

 

   //使用選項Background | CONTINUOUS | CTR32BIT讀取通道0

   ULStat = cbCInScanBoardNum

                                          0

                                          0

                                          計數,

                                          &率,

                                          MemHandle

                                          選項);

       ifULStat= 0

              printf錯誤代碼%d \ n”ULStat;

 

 

    while(!_ kbhit())

    {     

       //此循環先讀取緩沖區的下半部分,然后連續讀取上半部分。

       //它使用NextReadUpper標志,以便緩沖區的每一半被讀取一次

 

        ULStat = cbGetStatusBoardNum,&Status,&curCount,&curIndexCTRFUNCTION;

          

        ifULStat= 0{

               printf錯誤代碼%d \ n”ULStat;

               打破;

        }

        if((curIndex> halfbuf&&NextReadUpper ==假))

        {  

               NextReadUpper = true;

               對于(i = 0; i <halfbuf; i ++     

                      printfld \ n”DataArray [i];

        }

        否則if((curIndex <halfbuf&&NextReadUpper == true))

        {

               NextReadUpper = false;

               對于(i = 0; i <halfbuf; i ++     

                      printfld \ n”DataArray [i];

 

        }

        睡眠(10;

    }

 

 

 

       cbStopBackgroundBoardNumCTRFUNCTION;

       cbWinBufFreeMemHandle;

       cbReleaseDaqDeviceBoardNum;

 

       printf已完成...按任意鍵退出\ n”);

       getch();

}


主營:電流探頭,電壓探頭,羅氏線圈,電流傳感器,高壓探頭,電流互感器,功率電子測量產品
粵ICP備14003389號深圳君億道科技有限公司 © http://www.fengshengzhitongche.com
主站蜘蛛池模板: 贵德县| 桃园县| 葫芦岛市| 于田县| 桃园市| 南宁市| 湾仔区| 靖远县| 林口县| 郎溪县| 瑞安市| 崇仁县| 南丰县| 东宁县| 吴川市| 富阳市| 黔西| 宁蒗| 铜梁县| 伊金霍洛旗| 嘉定区| 庄河市| 砀山县| 长寿区| 烟台市| 晋州市| 若尔盖县| 宝坻区| 东乌珠穆沁旗| 祁阳县| 榆树市| 山阳县| 广饶县| 邵阳县| 梨树县| 东源县| 贵定县| 镇安县| 巴青县| 民乐县| 镇康县| 库尔勒市| 阳谷县| 金门县| 栾城县| 平乐县| 揭西县| 友谊县| 长葛市| 乐都县| 仪征市| 利川市| 惠东县| 丹巴县| 安图县| 疏附县| 沙洋县| 开原市| 涪陵区| 通道| 砚山县| 桦甸市| 安溪县| 阜南县| 威宁| 读书| 柳州市| 高要市| 邹平县| 永嘉县| 措美县| 原平市| 广河县| 宜阳县| 邹平县| 凤山县| 萨嘎县| 沁源县| 奇台县| 特克斯县| 台中县| 马鞍山市|