⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 int_1751.c

📁 安装comedi板卡驱动之后的测试程序
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <comedilib.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <getopt.h>
#include <ctype.h>

char *filename="/dev/comedi0";
int verbose_flag;
comedi_t *device;

int subdevice = 3;
int channel;
int aref;
int range;


int main(int argc, char *argv[])
{
//        int ret;
        int stype;
        int i;
        lsampl_t data ;
	int rev;

//        parse_options(argc,argv);


        device=comedi_open(filename);
        if(!device){
                comedi_perror(filename);
                exit(0);
        }
	data = 0;
        stype = comedi_get_subdevice_type(device,subdevice);
        if(stype!=COMEDI_SUBD_DO){
                printf("%d is not a digital I/O subdevice\n",subdevice);
                exit(0);
        }
#if 0
        printf("configuring pin %d for output...\n",channel);

        ret=comedi_dio_config(device,subdevice,channel,COMEDI_OUTPUT);

        printf("toggling pin %d rapidly...\n",channel);

                comedi_dio_write(device,subdevice,channel,1);
#endif
/*
        printf("configuring pin %d for input...\n",channel);

        ret=comedi_dio_config(device,subdevice,channel,COMEDI_OUTPUT);
*/
	printf("\nSubdevice  %d  channels  %d\n",subdevice, comedi_get_n_channels(device,subdevice));
	for(i=0;i<comedi_get_n_channels(device,subdevice);i++)
{
//        printf("toggling pin %d rapidly...\n",i);

	rev = comedi_data_write(device,subdevice, i, 0, 0, 0);
        printf("channel %d ret %d   \n",i, rev);
}
#if 1
        for(i=0;i<100000;i++){
                usleep(10000);
              // comedi_data_write(device,subdevice,32,0,0,0x1);
              //  printf("1\n");
        }
#endif

#if 0
        {
        unsigned int mask;
        unsigned int data;


        printf("toggling pin %d rapidly (using bitfield)...\n",channel);

        mask = 1<<channel;
        for(i=0;i<10000;i++){
                data = mask;
                comedi_dio_bitfield(device,subdevice,mask,&data);
                data = 0;
                comedi_dio_bitfield(device,subdevice,mask,&data);
        }
        }
#endif

        return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -