菜单
  

    触发方式       软件触发、前触发、后触发、中触发与延时触发
    数据传输方式   DMA方式
    时钟源         内部时钟、外部数字时钟、外部正弦波。
    内部时钟频率   可编程选择40MHz / n (n=2、4、6、8.. .256)
      图 3.3
    3.3.2 数据采集卡驱动程序设计
    在编写数据采集卡程序时,先要引用数据采集卡的头文件和库文件,其截图如下:
     
                 图3.4头文件和库文件截图
    数据采集卡的程序主要是对数据采集卡的初始化,设定数据采集模式,读取采集文件和将文件存在指定文件和释放。部分程序设计如下:
    #include <conio.h>
    #include "dask.h"

    U16 channel=3;  //4 channels
    U16 range=AD_B_1_V;
    char *file_name="9812d";
    U32 read_count=400000;
    F64 sample_rate=10000000;

    main()
    {
        I16 card, err, card_num;

        printf("This program inputs %d data from CH-0 to CH-%d of PCI-9812 in %d Hz, and\nstore data to file '%s.dat'.\nPlease press any key to start the operation.\n", read_count, channel, (int)sample_rate, file_name);
        printf("Please input a card number: ");
        scanf(" %d", &card_num);
        //getch();
        if ((card=Register_Card (PCI_9812, card_num)) <0 ) {
            printf("Register_Card error=%d\n", card);
            exit(1);
        }
        err = AI_9812_Config(card, P9812_TRGMOD_SOFT, P9812_TRGSRC_CH0, P9812_TRGSLP_POS, P9812_AD2_GT_PCI|P9812_CLKSRC_INT, 0x80, 0);
        if (err!=0) {
           printf("AI_9812_Config error=%d", err);
           exit(1);
        }
        err = AI_AsyncDblBufferMode(card, 0);
        if (err!=0) {
           printf("AI_DblBufferMode error=%d", err);
           exit(1);
        }
        err = AI_ContScanChannelsToFile(card, channel, range, file_name, read_count, sample_rate, SYNCH_OP);
        if (err!=0) {
           printf("AI_ContReadChannel error=%d", err);
           exit(1);
        }
        Release_Card(card);
        printf("\n\nThe input data is already stored in file '%s.dat'.\n", file_name);
        printf("\nPress ENTER to exit the program. "); getch();
    }
    在程序设计中,以上步骤被不断调用使用使用过后释放在初始化使用。
    3.4 网络通信模块程序设计
    3.4.1 网口通信模块
    在网口通信模块,程序的编写主要基于UDP的网络应用程序的编写。在本设计中网络通信使用线程通信,主要编辑服务器端程序和客户端程序。在终端软件发送指令到电路板上时,操控端作为客户端,执行端作为服务器端,当操作端回馈指令时,执行端又作为客户端,操控端作为服务器端。所以在终端软件上要同时包含服务器端程序和客户端程序。
    (1) 服务器端程序
    先要关闭先前工作区,建立新的工程选择Win32 Console Application类型,工程名为UdpSrv。并在应用程序创建向导的第一步选择:An empty project选项,创建一个新的工程。接着利用【文件/新建】菜单命令添加一个C++源文件:UdpSrv.cpp,然后在此文件中添加实现基于UDP的服务器端程序的代码。
  1. 上一篇:ARM嵌入式系统的数据采集传输系统研究+源程序
  2. 下一篇:有限元方法在波导计算的应用仿真
  1. 基于arm的卫星报警检测仪硬件设计

  2. FPGA+ARM故障检测设备专用适配器硬件设计

  3. ARM故障检测设备专用适配器软件设计

  4. VC++故障检测仪终端软件设计

  5. 基于arm的卫星报警检测仪软件设计+代码

  6. FPGA故障检测仪信号产生与检测电路设计

  7. 重载货运列车滚动轴承故障振动信号分析

  8. java+mysql车辆管理系统的设计+源代码

  9. 电站锅炉暖风器设计任务书

  10. 大众媒体对公共政策制定的影响

  11. 中考体育项目与体育教学合理结合的研究

  12. 十二层带中心支撑钢结构...

  13. 河岸冲刷和泥沙淤积的监测国内外研究现状

  14. 杂拟谷盗体内共生菌沃尔...

  15. 当代大学生慈善意识研究+文献综述

  16. 乳业同业并购式全产业链...

  17. 酸性水汽提装置总汽提塔设计+CAD图纸

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回