资源简介
基于C MEX S函数的研华PCI1716驱动程序
S函数 MATLAB 研华PCI1716 驱动程序
代码片段和文件信息
/* $Revision: 1 $ $Date: 2010/03/17 09:30:30 $ */
/* adadvenPCI1716.c - S-function driver for A/D on Adventec Boards PCI-1716 Mutifunction Boards*/
/* Copyright 1996-2002 The MathWorks Inc.
*/
#define S_FUNCTION_LEVEL 2
#undef S_FUNCTION_NAME
#define S_FUNCTION_NAME adadvenPCI1716
#include
#include
#include “simstruc.h“
#ifdef MATLAB_MEX_FILE
#include “mex.h“
#endif
#ifndef MATLAB_MEX_FILE
#include
#include “io_xpcimport.h“
#include “pci_xpcimport.h“
#endif
/* Input Arguments */
#define NUMBER_OF_ARGS (9)
#define CHANNEL_ARG ssGetSFcnParam(S0)
#define RANGE_ARG ssGetSFcnParam(S1)
#define SAMP_TIME_ARG ssGetSFcnParam(S2)
#define SLOT_ARG ssGetSFcnParam(S3)
#define DEV_ARG ssGetSFcnParam(S4)
#define COUPLING_ARG ssGetSFcnParam(S5)
#define MUX_ARG ssGetSFcnParam(S6)
#define GAIN_ARG ssGetSFcnParam(S7)
#define OFFSET_ARG ssGetSFcnParam(S8)
#define SAMP_TIME_IND (0)
#define base_ADDR_IND (0)
#define NO_I_WORKS (2) //(66)
#define base_ADDR_I_IND (1) //(0)
#define CHANNELS_I_IND (0)
#define NO_R_WORKS (128) //(64)
#define GAIN_R_IND (0)
#define OFFSET_R_IND (64)
static char_T msg[256];
static void mdlInitializeSizes(SimStruct *S)
{
int i;
#ifndef MATLAB_MEX_FILE
#include “io_xpcimport.c“
#include “pci_xpcimport.c“
#endif
ssSetNumSFcnParams(S NUMBER_OF_ARGS);
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {
sprintf(msg“Wrong number of input arguments passed.\n%d arguments are expected\n“NUMBER_OF_ARGS);
ssSetErrorStatus(Smsg);
return;
}
ssSetNumContStates(S 0);
ssSetNumDiscStates(S 0);
ssSetNumOutputPorts(S mxGetPr(CHANNEL_ARG));
for (i=0; i ssSetOutputPortWidth(S i 1);
}
ssSetNumInputPorts(S 0);
ssSetNumSampleTimes(S 1);
ssSetNumRWork(S NO_R_WORKS);
ssSetNumIWork(S NO_I_WORKS);
ssSetNumPWork(S 0);
ssSetNumModes(S 0);
ssSetNumNonsampledZCs(S 0);
ssSetSFcnParamNotTunable(S0);
ssSetSFcnParamNotTunable(S1);
ssSetSFcnParamNotTunable(S2);
ssSetSFcnParamNotTunable(S3);
ssSetSFcnParamNotTunable(S4);
ssSetSFcnParamNotTunable(S5);
ssSetOptions(S SS_OPTION_EXCEPTION_FREE_CODE | SS_OPTION_PLACE_ASAP);
}
static void mdlInitializeSampleTimes(SimStruct *S)
{
ssSetSampleTime(S 0 mxGetPr(SAMP_TIME_ARG)[SAMP_TIME_IND]);
ssSetOffsetTime(S 0 0.0);
}
#define MDL_START
static void mdlStart(SimStruct *S)
{
#ifndef MATLAB_MEX_FILE
int_T nChannels;
int_T i channel range dacRange coupling;
- 上一篇:最小二乘法 MATLAB
- 下一篇:BPA转matpower格式Matlab程序
相关资源
- BPA转matpower格式Matlab程序
- 最小二乘法 MATLAB
- aodv和dsr的matlab实现
- 回溯法解决资源约束下的二维动态规
- rgb2lab颜色空间转换的MATLAB代码
- polar程序MATLAB编译码
- matlab基于SAD的区域立体匹配方法
- 灰度高度图
- Matlab实现文本文件读取并存储成矩阵
- LS信道估计算法仿真代码
- 基于HMM的语音识别系统的matlab仿真
- Matlab与蒙特卡洛仿真
- SAR点目标仿真
- matlab 实现粒子群优化算法代码
- 史密斯圆图 matlab实现
- 一维信号的Haar小波分解与重构matlab程
- 潮流计算matlab代码
- Kohonen神经网络算法的matlab实现
- 基于matlab的电力系统仿真
- 自适应最陡下降法Matlab仿真
- MATLAB AGC
- 图像处理 人脸识别皮肤提取 经典ma
- 蚁群-微分进化算法解TSP
- 蚁群聚类算法matlab实现
- matlab三维散乱点云曲率算法
- 现代控制系统matlab程序
- 图像分割与腐蚀膨胀matlab代码
- AM调制解调matlab实验代码加噪声
- 元胞自动机交通流模型代码matlab代码
- Buck-Boost充电Matlab仿真模型
评论
共有 条评论