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

📄 modbus.h

📁 f2812内部spi程序
💻 H
字号:
//This macro file is not the last version

//MODBUS 有关命令宏定义


#ifndef _MODBUS_h
#define _MODBUS_h

#include "Macro.h"

#define POWER_VALUE 100  //掉电检测门限值

#define DEVICE_NUM 1    //本机设备号
#define MODBUS_OP3 3    //modbus功能命令3,读设备数据4区
#define MODBUS_OP4 4    //modbus功能命令4,读设备数据3区
#define MODBUS_OP16 16   //modbus功能命令16,写设备数据4区
#define MODBUS_OP23 23   //modbus功能命令23,设备数据4区屏蔽写操作
#define MODBUS_OP128 128 //modbus功能命令128,采集数据同步
#define MODBUS_INIT 5    //预置参数命令,12通道参数结构体初始化设置
                         //

//通道工作命令字
#define word01  81   //低应变:ch1
#define word02  82   //低应变:ch2
#define word03  83   //低应变:ch1+ch2
#define word04  84   //高应变RS模式: ch3,4,7,8
#define word05  85   //高应变PDA模式:ch5,6,7,8
#define word06  86   //剪切波:  ch9,10,11
#define word07  87   //地脉动:  ch9,10,11
#define word08  88   //地震测试:ch12



//12 通道数据在外部SRAM中的首地址,注意数据类型确定.32bit
#define ADDR1 (volatile long *)0x080000    //1K for 1 channel
#define ADDR2 (volatile long *)0x080800    //1K for 2 channel
#define ADDR3 (volatile long *)0x081000
#define ADDR4 (volatile long *)0x081800
#define ADDR5 (volatile long *)0x082000
#define ADDR6 (volatile long *)0x082800
#define ADDR7 (volatile long *)0x083000
#define ADDR8 (volatile long *)0x083800
#define ADDR9 (volatile long *)0x084000
#define ADDR10 (volatile long *)0x084800
#define ADDR11 (volatile long *)0x085000
#define ADDR12 (volatile long *)0x085800  //8K for 12 channel

//前19K数据被通道数据占用,从0x084c00地址开始,其他数据可占用
#define ADDR_REV (volatile long *)0x08a000 


//数据结构定义
typedef struct        //对应于每个通道的参数结构体
{ 
  Uint16 start;       //通道采集是否启动:0:禁止,1:启动
  float  sense;       //传感器灵敏度。考虑是否尽量用Uint16
  Uint16 SampGain;    //前置放大系数,1,10,100,1000可选
  float  rate;        //采样间隔
  float  YanSi;       //采样延时
  Uint16 DelayPoint;  //延时点数
  Uint16 TrigerMode;  //触发方式,上位机应明确给定定义码
  Uint16 TrigerVol;   //触发电平
  Uint16 SampLength;  //采样长度,12通道地震测试1,2,4,8K可选,其余通道为1K
  Uint16 SampMode;    //采样方式(适用于通道触发方式下),连续采样,单次采样·
  
  //其他通道参数定义,如模拟滤波器上下限、终端选择、波形初至时间、测试时间
  //DAC的驱动输出值== 
  
}CHAN_CONFIG;

//四种DAC输出电压所对应的8位数值,高8位恒为0
#define DAC_DATA1 0X0001
#define DAC_DATA2 0X0002
#define DAC_DATA3 0X0003
#define DAC_DATA4 0X0004

#define DAC_RANGE  0x0000  //DAC 输出增益 range位0,1可选  0x0100
#define DAC_ADDR   0x0600  //DAC 输出通道选择0~7,变量访问,宏访问

#endif

⌨️ 快捷键说明

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