在一个".h"文件中定义的一个结构体:////////////////////////数字输入输出功能定义的结构体////////////////////////////////
struct PARAMETER{
Uint16 VALUE;
Uint16 DEFAULT ;
Uint16 INDEX ; // can be saved to EEPROM by this
Uint16 TYPE ; // 0: cann't be modified when motor running 1: can be modified in anytime
Uint16 SCALE ; // 0: VALUE need not recalculate when using ; >0 Real Value = (VALUE / SCALE);
};
struct DIO_REG{
struct PARAMETER DIProp; //F3.16,输入端子极性设定
struct PARAMETER DI1; //F3.8,输入端子X1功能选择
struct PARAMETER DI2; //F3.9,输入端子X2功能选择
struct PARAMETER DI3; //F3.10,输入端子X3功能选择
struct PARAMETER DI4; //F3.11,输入端子X4功能选择
struct PARAMETER DI5; //F3.12,输入端子X5功能选择
struct PARAMETER DI6; //F3.13,输入端子X6功能选择
struct PARAMETER DI7; //F3.14,输入端子X7功能选择
struct PARAMETER DI8; //F3.15,输入端子X8功能选择
struct PARAMETER DOProp; //F3.25,输出端子极性设定
struct PARAMETER DO1; //F3.17,输出端子Y1功能选择
struct PARAMETER DO2; //F3.18,输出端子Y2功能选择
struct PARAMETER DO3; //F3.19,输出端子Y3功能选择
struct PARAMETER DO4; //F3.20,输出端子Y4功能选择
struct PARAMETER DO5; //F3.21,输出端子Y5功能选择
struct PARAMETER DO6; //F3.22,输出端子Y6功能选择
struct PARAMETER DO7; //F3.23,输出端子Y7功能选择
struct PARAMETER DO8; //F3.24,输出端子Y8功能选择
};
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
{
union USERDI_REG UserDI_reg;
union USERDO_REG UserDO_reg;
struct DIO_REG DIO_reg;
Uint16 RUN; //数字输出功能表中,变频器正在运行的标志位
Uint16 FG; //数字输出功能表中,频率到达信号的标志位
Uint16 FGT1; //数字输出功能表中,频率水平检测信号1的标志位
Uint16 FGT2; //数字输出功能表中,频率水平检测信号2的标志位
Uint16 OL; //数字输出功能表中,过载信号的标志位
Uint16 UV; //数字输出功能表中,欠压脉冲封锁的标志位
Uint16 EF; //数字输出功能表中,外部故障停机的标志位
Uint16 UF; //数字输出功能表中,到达频率上限的标志位
Uint16 BF; //数字输出功能表中,到达频率下限的标志位
Uint16 STANDBy; //数字输出功能表中,变频器准备好运行的标志位
Uint16 Fault; //数字输出功能表中,变频器故障的标志位
};
extern volatile struct UserDIO_REGS UserDIORegs;
void Figure_InputFunction(void); //数字输入函数
void Figure_OutputFunction(void); //数字输出函数
//////////////////////////////////////////////////////////////////////////////
定义完后还需要在DSP28_GlobalVariableDefs.c中加入的语句是:
#pragma DATA_SECTION(UserDIORegs,"UserDIORegFile");
volatile struct UserDIO_REGS UserDIORegs;
然后在".cmd"文件中加入的区间定义:
UserDIORegFile :> PAR_REG, PAGE = 1
**************************************************************************************************************
以上都编写进DSP的程序后就可以使用自己所定义的结构体作变量了...
你看过CMD没 寄存器最后都是映射到一定的地址上去了
看过了,但就是不知道自己定义的结构体该映射到什么地方去,或者说DSP有专门留给开发者使用的内存映射区域吗?有的话该是在哪里?
一周热门 更多>