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

公司新聞

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

USB-CTR04 USB-CTR08 使用 CInScan 測量頻率

來源君億道

以下示例演示如何使用USB-CTR04或 CTR-08測量頻率。此外,它還演示了 CConfigScan(...) 和 CInScan(...) 的使用。

 

要訪問 API,請添加對 McDaq 對象的引用。添加引用通常是通過右鍵單擊項目 [在項目瀏覽器下] 并選擇添加引用來完成的。完整的項目附在文章中,是使用 CSharp 使用 Visual Studio 2008 創建的。編譯和執行速度很快,因為 Windows 開銷和相關代碼最少。

 

為了使代碼更具可讀性,添加了一些方便的函數,例如 IsErrorGetBoardNum WaitForKeyIsError 函數檢查 ErrorInfo 對象中的錯誤編號,如果不是零則顯示錯誤消息。GetBoardNum 函數開始從每個數字位置讀取設備字符串,一旦找到包含標識字符串的設備字符串,它就會退出。WaitForKey 就是這樣做的 - 等待某人按下某個鍵。要查看完整的程序項目,請下載下面的附件。

 

免責聲明:

隨附的代碼或示例按原樣提供。它尚未作為產品進行測試或驗證,未在部署的應用程序或系統中使用,或在危險環境中使用。您承擔使用代碼或示例的所有風險。

image.png

 

         公共常量 int CHANCOUNT = 1;

        公共常量 int BUFFERSIZE = 2;

        public const int HALFBUFFSIZE = BUFFERSIZE / 2;

        public const string DEVICE = "USB-CTR";

 

        public const int CounterNum = 0;

        public const int OutTimerNum = 0;

        public const CounterMode Mode = CounterMode.Period;

        public const CounterDebounceTime DebounceTime = CounterDebounceTime.Debounce500ns;

        public const CounterDebounceMode DebounceMode = CounterDebounceMode.TriggerAfterStable;

        public const CounterEdgeDetection EdgeDetection = CounterEdgeDetection.RisingEdge;

       

        public const CounterTickSize TickSize = CounterTickSize.Tick20pt83ns; // 0 等于 20.833 nS 刻度大小

        公共常量雙刻度 = 0.000000020833f

 

        public const int MapCounter = 0;

        public static bool ReadLower = true;

        /*//////////////////////////////////////////////// ///////////////////////////////////////

 

        static void Main(string[] args)

        {

 

 

            int BoardNum = 0;

            整數率 = 1;

            雙頻 = 1000.0f;

            雙任務 = 0.50f

            intDelay = 0;

            短數據狀態;

            整數計數;

            整數索引;

 

            Console.WriteLine("正在定位設備...請稍候\n");

 

            BoardNum = GetBoardNum(DEVICE);

 

            if (BoardNum == -1)

            {

                Console.WriteLine("未檢測到{0}", DEVICE);

                等待鍵();

                返回;

            }

            別的

            {

                MccBoard daq = MccDaq.MccBoard(BoardNum);

 

                //分配緩沖區

                IntPtr 緩沖區 = MccService.WinBufAlloc32Ex(BUFFERSIZE);

 

                if (buffer == IntPtr.Zero)

                {

                    Console.WriteLine("壞句柄");

                    返回;

                }

 

                IsError(daq.CConfigScan(CounterNum,

                                        模式,

                                        去抖時間,

                                        去抖模式,

                                        邊緣檢測,

                                        刻度尺寸,

                                        地圖計數器));

 

                //出于測試目的,將一根電線從計時器零跳到零計數器。

                //使用定時器作為測試信號

 

                IsError(daq.PulseOutStart(OutTimerNum,

                                            參考頻率,

                                            參考值,0

                                            參考 intDelay

                                            空閑狀態。低,

                                            PulseOutOptions.Default));

 

    

                ScanOptions 選項 = ScanOptions.Default

                                      | ScanOptions.Ctr64Bit

                                      | ScanOptions.Continuous

                                      | ScanOptions.Background;

 

                IsError(daq.CInScan(CounterNum,

                                    計數器編號,

                                    緩沖區大小,

                                    參考率,

                                    緩沖,

                                    選項));

 

 

                System.ConsoleKeyInfo cki = new System.ConsoleKeyInfo();

                Console.WriteLine("正在檢索數據\n");

                Console.WriteLine("按任意鍵退出...\n");

 

                Int64[] longArray = new Int64[BUFFERSIZE];

 

               

                {

 

                    IsError(daq.GetStatus(out daqStatus, out Count, out Index, FunctionType.CtrFunction));

                    if ((Index >= HALFBUFFSIZE) & ReadLower) //檢查 50% 以上的數據

                    {

                        //獲取緩沖區的下半部分

                        IsError(MccService.WinBufToArray64(buffer, longArray, 0, HALFBUFFSIZE));

 

                        DisplayData(longArray, HALFBUFFSIZE / CHANCOUNT);

                        ReadLower = 假;//控制下一次讀取的標志

                    }

                    否則 if ((Index < HALFBUFFSIZE) & !ReadLower)

                    {

                        //獲取上半部分

                        IsError(MccService.WinBufToArray64(buffer, longArray, HALFBUFFSIZE, HALFBUFFSIZE));

 

                        DisplayData(longArray, HALFBUFFSIZE / CHANCOUNT);

                        ReadLower = true;//控制下一次讀取的標志

                    }

            

                } while (!Console.KeyAvailable);

                cki = Console.ReadKey();

               

                //停止輸出定時器

                daq.PulseOutStop(OutTimerNum);

 

                IsError(daq.StopBackground(FunctionType.CtrFunction));

                IsError(daq.PulseOutStop(OutTimerNum));

 

                //釋放內存

                IsError(MccService.WinBufFreeEx(buffer));

 

                等待鍵();

            }

 

        }

主營:電流探頭,電壓探頭,羅氏線圈,電流傳感器,高壓探頭,電流互感器,功率電子測量產品
粵ICP備14003389號深圳君億道科技有限公司 © http://www.fengshengzhitongche.com
主站蜘蛛池模板: 卢龙县| 三台县| 东丽区| 永定县| 安福县| 酉阳| 海口市| 齐河县| 广灵县| 高州市| 南木林县| 上饶县| 肥城市| 锡林浩特市| 古蔺县| 青田县| 蕉岭县| 项城市| 枝江市| 含山县| 陇川县| 元阳县| 丰城市| 库车县| 兴化市| 宜章县| 北票市| 石渠县| 榆社县| 大同县| 平阴县| 都昌县| 沂水县| 密山市| 新竹县| 惠州市| 淮滨县| 五河县| 梁平县| 广南县| 长宁区| 都江堰市| 融水| 洛浦县| 和平区| 通州市| 山阴县| 武城县| 顺昌县| 丰城市| 梅河口市| 龙州县| 湟中县| 连江县| 新民市| 阿瓦提县| 扶风县| 普格县| 巴林右旗| 临颍县| 左权县| 安阳县| 馆陶县| 常德市| 淮北市| 左云县| 余姚市| 新源县| 定远县| 东海县| 启东市| 肥东县| 泌阳县| 东宁县| 新宾| 册亨县| 隆德县| 休宁县| 定州市| 锦州市| 天津市| 江达县|