中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PCI9052在多功能CAN適配卡中的應用研究

        PCI9052在多功能CAN適配卡中的應用研究

        作者: 時間:2009-03-25 來源:網絡 收藏

        NTSTATUS PCIDriverDevice::DeviceControl(KIrp I)
        {
        NTSTATUS status;
        switch (I.IoctlCode())
        {
        ………………………………………
        case IOCTL_HIL100_READ_IO_DATA:
        status = IOCTL_HIL100_READ_IO_DATA _Handler(I);
        case IOCTL_HIL100_WRITE_IO_DATA:
        status = IOCTL_HIL100_WRITE_IO_DATA _Handler(I);
        case IOCTL_HIL100_WRITE_DA_DATA:
        status = IOCTL_HIL100_WRITE_DA_DATA _Handler(I);
        case IOCTL_HIL100_READ_AD_DATA:
        status = IOCTL_HIL100_READ_AD_DATA _Handler(I);
        default:
        status = STATUS_INVALID_PARAMETER;
        break;
        }
        ………………………….
        }
        在該函數進行驅動中相應的數據處理與傳遞,包括從內存中讀上層程序發(fā)送下來的數據或將AD、等外設傳遞上來的數據送到上層程序。
        API函數主要提供了PCI卡的開關,A/D、D/A、I/O的讀寫函數,的設置、讀寫,中斷事件消息函數等。API函數與以上控制代碼相關聯(lián),傳遞數據和控制參數。如下程序所示:
        bool WriteDataToIO(unsigned char data) //寫數據到IO口
        {
        ……
        ULONG BytesReturned;
        if (!DeviceIoControl(hHIL100, IOCTL_HIL100_WRITE_IO_DATA, data, 1,
        NULL, 0, BytesReturned, NULL))
        ……
        }
        bool ReadDataFromIO(unsigned char *data) //從IO口讀數據
        {
        ……
        ULONG BytesReturned;
        if (!DeviceIoControl(hHIL100, IOCTL_HIL100_READ_IO_DATA, data, 1,
        data, 1, BytesReturned, NULL))
        ……
        }
        bool WriteDataToDA(unsigned short control,unsigned short freq[4])//寫數據到AD
        {
        ……
        ULONG BytesReturned;
        unsigned short pData[16];
        pData[0]=control;
        pData[1]=freq[0];
        pData[2]=freq[1];
        pData[3]=freq[2];
        pData[4]=freq[3];
        if (!DeviceIoControl(hHIL100, IOCTL_HIL100_WRITE_DA_DATA, pData, 10,
        NULL, 0, BytesReturned, NULL))
        ……
        }
        bool ReadDataFromAD(unsigned short address[8],unsigned short data[8])
        { //從AD讀數據
        ……
        ULONG BytesReturned;
        if (!DeviceIoControl(hHIL100, IOCTL_HIL100_READ_AD_DATA,address,16,
        data,16, BytesReturned, NULL))
        ……
        }
        bool ReadDataFromDA (unsigned char address,unsigned short *data)//從DA讀數據
        {
        ……
        ULONG BytesReturned;
        if (!DeviceIoControl(hHIL100, IOCTL_HIL100_READ_DA1_DATA,address,1,
        data, 2, BytesReturned, NULL))
        ……
        }
        將這些接口函數生成動態(tài)鏈接庫的形式,供上層程序調用。
        3 結束語
        由于PCI總線的高速特性,使其被廣泛應用于高速數據采集系統(tǒng)和數據傳輸通信系統(tǒng)中,有效地解決了實時采集、實時傳輸和實時存儲等問題。而PCI總線控制器專用芯片的出現則縮短了PCI總線硬件設備的開發(fā)周期,使得硬件設備的可靠性和穩(wěn)定性都有了較大的提高。在開發(fā)過程中,尤其對于高速采樣及實時嚴格的系統(tǒng),我們實現了對該系統(tǒng)高效率的操作特性,該有效的解決了高速實時采集、實時傳輸和實時存儲等的驅動問題。同時該PCI卡既實現了CAN總線通信功能,同時也實現了多路通道的數據采集和相應控制。
        3 本文的創(chuàng)新觀點
        1) 本文將API函數與控制代碼建立起關聯(lián)
        2) 本文將應用程序集成到對應的API函數里

        本文引用地址:http://www.antipu.com.cn/article/173838.htm

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉