找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1838|回复: 0

研华818L的采集卡疑问!

[复制链接]
发表于 2004-11-8 18:02:08 | 显示全部楼层 |阅读模式

我用的是研华818L的采集卡,下面是我编的一个DLL,但是在VC++下就是编译不能通过,
出错的地方是在(*arg3)->elt=arrayA这一句,大侠们救我一下!!!谢谢!!!
/* Call Library source file */
#include "extcode.h"
#include "hosttype.h"
#include "conio.h"
#include "stdlib.h"
/* Typedefs */
typedef struct {
        long dimSize;
        float elt[1];
        } TD1;
typedef TD1 **TD1Hdl;
_declspec(dllexport) void goal(unsigned short int *basea, long *samples, TD1
Hdl arg3);               //basea为板卡的基地址,sanmples为采用点数,,
_declspec(dllexport) void goal(unsigned short int *basea, long *samples, TD1
Hdl arg3)
        {
        /* Insert code here */
        short int dbyte;
        float value;
        short int i;
        float * arrayA;      
arrayA=(float *) calloc (*samples,sizeof(float));
        (*arg3)->dimSize=*samples;
        (*arg3)->elt=arrayA;
        for(i=0;i<*samples;i++)
        {
                _outp(*basea+1,0x00);     //这些为写和读板卡的端口
                _outp(*basea+2,0x00);
                _outp(*basea+0,0x00);
                while(_inp(*arg1+8)&0x00);
                dbyte=_inp(*basea+1)&0xff+(_inp(*basea+0)&0xf0)*256;
                value=(float)((dbyte)*10/4096-5);
            *arrayA=value;
                arrayA++;
        }
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-28 07:27 , Processed in 0.020167 second(s), 8 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表